std::auto_ptr
|
|
|
Defined in header <memory>
|
||
template< class T > class auto_ptr;
|
(1) | (deprecated in C++11) (removed in C++17) |
template
<>
class auto_ptr<
void
>
;
|
(2) | (deprecated in C++11) (removed in C++17) |
auto_ptr
is a smart pointer that manages an object obtained via new expression and deletes that object when auto_ptr
Copying an auto_ptr
copies the pointer and transfers ownership to the destination: both copy construction and copy assignment of auto_ptr
modify their right-hand arguments, and the "copy" is not equal to the original. Because of these unusual copy semantics, auto_ptr
may not be placed in standard containers.
std::unique_ptr is preferred for this and other uses.
(since C++11)
element_type
, but no member functions.An additional class template auto_ptr_ref
is referred to throughout the documentation. It is an implementation-defined type that holds a reference to auto_ptr
Member types
Member type | Definition |
element_type | T |
Member functions
creates a new auto_ptr (public member function) |
|
destroys an auto_ptr and the managed object (public member function) |
|
transfers ownership from another auto_ptr (public member function) |
|
converts the managed pointer to a pointer to different type (public member function) |
|
Observers | |
returns a pointer to the managed object (public member function) |
|
accesses the managed object (public member function) |
|
Modifiers | |
replaces the managed object (public member function) |
|
releases ownership of the managed object (public member function) |