Namespaces
Variants
Views
Actions

Dynamic memory management

From cppreference.com
< cpp
 
 
 
 

Contents

[edit] Smart pointers

Smart pointers enable automatic, exception-safe, object lifetime management.

Defined in header <memory>
Pointer categories
smart pointer with unique object ownership semantics
(class template) [edit]
smart pointer with shared object ownership semantics
(class template) [edit]
(C++11)
weak reference to an object managed by std::shared_ptr
(class template) [edit]
(deprecated)
smart pointer with strict object ownership semantics
(class template) [edit]
Helper classes
provides mixed-type owner-based ordering of shared and weak pointers
(class template) [edit]
allows an object to create a shared_ptr referring to itself
(class template) [edit]
exception thrown when accessing a weak_ptr which refers to already destroyed object
(class) [edit]
default deleter for unique_ptr
(class template) [edit]

[edit] Allocators

Allocators are class templates encapsulating memory allocation strategy. This allows generic containers to decouple memory management from the data itself.

Defined in header <memory>
the default allocator
(class template) [edit]
provides information about allocator types
(class template) [edit]
tag type used to select allocator-aware constructor overloads
(class) [edit]
an object of type std::allocator_arg_t used to select allocator-aware constructors
(constant) [edit]
checks if the specified type supports uses-allocator construction
(class template) [edit]
Defined in header <scoped_allocator>
implements multi-level allocator for multi-level containers
(class template) [edit]

[edit] Uninitialized storage

Several utilities are provided to create and access raw storage

Defined in header <memory>
copies a range of objects to an uninitialized area of memory
(function template) [edit]
copies a number of objects to an uninitialized area of memory
(function template) [edit]
copies an object to an uninitialized area of memory
(function template) [edit]
copies an object to an uninitialized area of memory
(function template) [edit]
an iterator that allows standard algorithms to store results in uninitialized memory
(class template) [edit]
obtains uninitialized storage
(function template) [edit]
frees uninitialized storage
(function template) [edit]

[edit] Garbage collector support

Defined in header <memory>
declares that an object can not be recycled
(function) [edit]
declares that an object can be recycled
(function template) [edit]
declares that a memory area does not contain traceable pointers
(function) [edit]
cancels the effect of std::declare_no_pointers
(function) [edit]
lists pointer safety models
(class) [edit]
returns the current pointer safety model
(function) [edit]

[edit] Miscellaneous

Defined in header <memory>
provides information about pointer-like types
(class template) [edit]
(C++11)
obtains actual address of an object, even if the & operator is overloaded
(function template) [edit]
(C++11)
aligns a pointer in a buffer
(function) [edit]

[edit] C-style memory managment

Includes e.g. std::malloc, std::free

[edit] Low level memory management

Includes e.g. operator new , operator delete , std::set_new_handler