Smart pointers

suggest change

Syntax

C++ is not a memory-managed language. Dynamically allocated memory (i.e. objects created with new) will be “leaked” if it is not explicitly deallocated (with delete). It is the programmer’s responsibility to ensure that the dynamically allocated memory is freed before discarding the last pointer to that object.

Smart pointers can be used to automatically manage the scope of dynamically allocated memory (i.e. when the last pointer reference goes out of scope it is deleted).

Smart pointers are preferred over “raw” pointers in most cases. They make the ownership semantics of dynamically allocated memory explicit, by communicating in their names whether an object is intended to be shared or uniquely owned.

Use #include <memory> to be able to use smart pointers.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Smart pointers:
* Syntax

Table Of Contents
8 Arrays
11 Loops
39 Streams
50 Smart pointers
51 Unions
56 Lambdas
60 SFINAE
62 RAII
67 Sorting
84 RTTI
87 Scopes
104 Profiling
107 Recursion
117 Iteration
125 Alignment
134 Semaphore
136 Debugging
139 Mutexes
142 decltype