Namespaces
Variants

std:: auto_ptr

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Definido en el encabezado <memory>
template < class T > class auto_ptr ;
(1) (obsoleto en C++11)
(eliminado en C++17)
template <> class auto_ptr < void > ;
(2) (obsoleto en C++11)
(eliminado en C++17)

auto_ptr es un puntero inteligente que gestiona un objeto obtenido mediante una expresión new y elimina ese objeto cuando el propio auto_ptr es destruido. Puede utilizarse para proporcionar seguridad de excepciones para objetos asignados dinámicamente, para transferir la propiedad de objetos asignados dinámicamente a funciones y para retornar objetos asignados dinámicamente desde funciones.

Copiar un auto_ptr copia el puntero y transfiere la propiedad al destino: tanto la construcción por copia como la asignación por copia de auto_ptr modifican sus argumentos del lado derecho, y la "copia" no es igual al original. Debido a estas semánticas de copia inusuales, auto_ptr no puede colocarse en contenedores estándar. std::unique_ptr es preferido para este y otros usos. (desde C++11)

2) Se proporciona una especialización para el tipo void , esta declara el typedef element_type , pero no funciones miembro.

Una clase de plantilla adicional auto_ptr_ref se menciona a lo largo de la documentación. Es un tipo definido por la implementación que contiene una referencia a auto_ptr . Se permite que la implementación proporcione a la plantilla un nombre diferente o implemente las funciones que lo devuelven o lo aceptan como parámetro de otras maneras.

Contenidos

Tipos de miembros

Tipo de miembro Definición
element_type T

Funciones miembro

crea un nuevo auto_ptr
(función miembro pública)
destruye un auto_ptr y el objeto gestionado
(función miembro pública)
transfiere la propiedad desde otro auto_ptr
(función miembro pública)
convierte el puntero gestionado a un puntero de tipo diferente
(función miembro pública)
Observadores
devuelve un puntero al objeto gestionado
(función miembro pública)
accede al objeto gestionado
(función miembro pública)
Modificadores
reemplaza el objeto gestionado
(función miembro pública)
libera la propiedad del objeto gestionado
(función miembro pública)