auto_ptr Class

Envolve um ponteiro inteligente em torno de um recurso que garante que o recurso seja destruída automaticamente quando o controle deixa um bloco.

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

Para obter mais informações sobre throw() e manipulação de exceção, 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 de que para obter um recurso existente.

  • _Ptr
    O ponteiro especificado para substituir o ponteiro armazenado.

Comentários

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

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

Membros

ew3fk483.collapse_all(pt-br,VS.110).gifConstrutores

auto_ptr

O construtor para objetos do tipo auto_ptr.

ew3fk483.collapse_all(pt-br,VS.110).gifTypedefs

element_type

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

ew3fk483.collapse_all(pt-br,VS.110).gifFunções de membro

obter

A função de membro retorna o ponteiro myptrarmazenado.

versão

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

redefinido

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

ew3fk483.collapse_all(pt-br,VS.110).gifOperadores

operator=

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

operator*

O operador de referências para objetos do tipo auto_ptr.

operator->

O operador para permitir o acesso de membro.

auto_ptr<Other>de operador

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

auto_ptr_ref<Other>de operador

Conversões de auto_ptr a auto_ptr_ref.

Requisitos

Cabeçalho:<memory>

Namespace: STD

Consulte também

Referência

Segurança do thread na biblioteca C++ padrão

unique_ptr Class

Outros recursos

<memory> Membros