Share via


auto_ptr (Clase)

Ajusta un puntero inteligente alrededor de un recurso que garantice que el recurso se destruya automáticamente cuando el control deja un bloque.

La clase más capaz de unique_ptr reemplaza auto_ptr. Para obtener más información, vea unique_ptr (Clase).

Para obtener más información sobre throw() y control de excepciones, vea Especificaciones de excepción.

template<class Type>
    class auto_ptr {
public:
    typedef Type element_type;
    explicit auto_ptr(Type *_Ptr = 0) throw();
    auto_ptr(auto_ptr<Type>& _Right) throw();
    template<class Other>
        operator auto_ptr<Other>() throw();
    template<class Other>
        auto_ptr<Type>& operator=(auto_ptr<Other>& _Right) throw();
    template<class Other>
        auto_ptr(auto_ptr<Other>& _Right);
    auto_ptr<Type>& operator=(auto_ptr<Type>& _Right);
    ~auto_ptr();
    Type& operator*() const throw();
    Type *operator->()const throw();
    Type *get() const throw();
    Type *release()throw();
    void reset(Type *_Ptr = 0);
};

Parámetros

  • _Right
    auto_ptr de las que para obtener un recurso existente.

  • _Ptr
    El puntero especificado para reemplazar el puntero almacenado.

Comentarios

La clase de plantilla describe un puntero inteligente, denominado auto_ptr, a un objeto asignado. El puntero debe ser NULL o designar un objeto asignado por new. auto_ptr transfiere propiedad si su valor almacenado se asigna a otro objeto. (Reemplaza el valor almacenado después de una transferencia con un puntero NULL.) El destructor para auto_ptr<Type> elimina el objeto asignado. auto_ptr<Type> garantiza que un objeto asignado automáticamente está eliminado cuando el control deja un bloque, incluso con una excepción. No debería construir dos objetos de auto_ptr<Type> propietarios el mismo objeto.

Puede pasar un objeto de auto_ptr<Type> por valor como un argumento a una llamada de función. auto_ptr no puede ser un elemento de ningún contenedor de la biblioteca. No puede administrar fiable una secuencia de objetos de auto_ptr<Type> con un contenedor de la biblioteca de plantillas estándar.

Miembros

Constructores

auto_ptr

El constructor para los objetos de auto_ptrescrito.

Typedefs

element_type

El tipo es un sinónimo para el parámetro Typede la plantilla.

Funciones miembro

obtener

La función miembro devuelve el puntero almacenado myptr.

inicio

El miembro reemplaza el puntero almacenado myptr con un puntero NULL y devuelve el puntero previamente almacenado.

reset

La función miembro evalúa la expresión delete myptr, pero solo si los cambios almacenados de myptr de valor de puntero como resultado de llamada de función. A continuación reemplaza el puntero almacenado con ptr.

Operadores

operator=

Un operador de asignación que transfiere propiedad a partir de un objeto de auto_ptr a otro.

operator*

El operador de desreferenciación para los objetos de auto_ptrescrito.

operator->

El operador para permitir el acceso a miembros.

auto_ptrOther de operador<>

Conversiones de una clase de auto_ptr a otra clase de auto_ptr.

auto_ptr_refOther de operador<>

Conversiones de auto_ptr a auto_ptr_ref.

Requisitos

memoria<deEncabezado:>

Espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos en la biblioteca estándar de C++

unique_ptr (Clase)

Otros recursos

miembros de <memoria>