Partilhar via


Classe auto_ptr

Envolve um ponteiro inteligente o redor de um recurso que assegura que o recurso foi destruído automaticamente quando o controle deixa de um bloco.

A classe mais capaz de unique_ptr substitui auto_ptr. Para obter mais informações, consulte Classe unique_ptr.

Para obter mais informações sobre como throw() e a manipulação de exceções, consulte Especificações de exceção.

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 da qual obter um recurso existente.

  • _Ptr
    O ponteiro especificado para substituir o ponteiro armazenado.

Comentários

A classe do modelo descreve um ponteiro inteligente, chamado auto_ptr, a um objeto atribuído. O ponteiro deve ser zero ou designar um objeto atribuída por new. auto_ptr transfere a propriedade se o valor armazenado é atribuído a outro objeto. (Substitui o valor armazenado após uma transferência com um ponteiro nulo.) O destruidor para auto_ptr<Type> exclui o objeto atribuído. auto_ptr<Type> garante que um objeto foi excluído atribuído automaticamente quando o controle deixa de um bloco, mesmo com uma exceção gerada. Você não deve criar dois objetos de auto_ptr<Type> que possui o mesmo objeto.

Você pode passar um objeto de auto_ptr<Type> pelo valor como um argumento para uma chamada de função. auto_ptr não pode ser um elemento de qualquer contêiner padrão de biblioteca. Você não pode gerenciar de uma sequência de objetos de auto_ptr<Type> com um contêiner padrão da biblioteca do modelo.

Membros

Construtores

auto_ptr

O construtor para objetos de tipo auto_ptr.

Typedefs

element_type

O tipo é um sinônimo para o parâmetro Typedo modelo.

Funções de membro

obter

A função de membro retorna o ponteiro armazenado myptr.

versão

O membro substitui o ponteiro armazenado myptr com um ponteiro nulo e retorna o ponteiro armazenado anteriormente.

redefinição

A função de membro avalia a expressão delete myptr, mas somente se o valor do ponteiro myptr armazenado é alterado no resultado da chamada de função. Substitui o ponteiro armazenado com ptr.

Operadores

operador=

Um operador de atribuição que transferir a propriedade de um objeto de auto_ptr para outro.

operator*

O operador de remoção de referência para objetos de tipo auto_ptr.

operator->

O operador para permitir acesso de membro.

auto_ptrOther do operador<>

Conversões de um tipo de auto_ptr em outro tipo de auto_ptr.

auto_ptr_refOther do operador<>

Conversões de auto_ptr a auto_ptr_ref.

Requisitos

memória<deCabeçalho:>

Namespace: std

Consulte também

Referência

Segurança de threads na Biblioteca Padrão C++

Classe unique_ptr

Outros recursos

<memory> Membros