std:: auto_ptr
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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)
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) |
|