Condividi tramite


auto_ptr Class

Avvolge un puntatore intelligente intorno a una risorsa che garantisce la risorsa verrà automaticamente eliminato quando il controllo consente a un blocco.

La classe più in grado di unique_ptr sostituisce auto_ptr.Per ulteriori informazioni, vedere unique_ptr Class.

Per ulteriori informazioni su throw() e sulla gestione delle eccezioni, vedere Specifiche di eccezione.

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);
};

Parametri

  • _Right
    auto_ptr da cui ottenere una risorsa esistente.

  • _Ptr
    Il puntatore specificato per sostituire il puntatore archiviato.

Note

La classe modello descrive un puntatore intelligente, denominato auto_ptr, a un oggetto allocato.Il puntatore deve essere null o definire un oggetto allocato da new.auto_ptr trasferisce la proprietà se il valore memorizzato viene assegnato a un altro oggetto.(Sostituisce il valore memorizzato dopo un trasferimento con un puntatore null.) Il distruttore di auto_ptr<Type> elimina l'oggetto allocato.auto_ptr<Type> garantisce che un oggetto allocato automaticamente quando si elimina il controllo consente a un blocco, anche con un'eccezione generata.Non è necessario creare due oggetti di auto_ptr<Type> cui lo stesso oggetto.

È possibile passare un oggetto di auto_ptr<Type> per valore come argomento a una chiamata di funzione.auto_ptr non può essere un elemento di un contenitore standard della libreria.Non è possibile in modo affidabile gestire una sequenza di oggetti di auto_ptr<Type> con un contenitore di una libreria di modelli standard.

Membri

ew3fk483.collapse_all(it-it,VS.110).gifCostruttori

auto_ptr

Il costruttore per oggetti di tipo auto_ptr.

ew3fk483.collapse_all(it-it,VS.110).gifDefinizioni typedef

element_type

Il tipo è sinonimo del parametro di template Type.

ew3fk483.collapse_all(it-it,VS.110).gifFunzioni membro

get

La funzione membro restituisce il puntatore archiviato myptr.

versione

Il membro sostituisce il puntatore archiviato myptr con un puntatore null e restituisce il puntatore sopra archiviato.

reset

La funzione membro valuta l'espressione delete myptr, ma solo se le modifiche archiviate di myptr di valore del puntatore come risultato della chiamata di funzione.Quindi sostituisce il puntatore archiviato con ptr.

ew3fk483.collapse_all(it-it,VS.110).gifOperatori

operator=

Un operatore di assegnazione che trasferisce la proprietà di un oggetto di auto_ptr a un altro.

operator*

L'operatore derefenziante per oggetti di tipo auto_ptr.

operator->

L'operatore per consentire l'accesso al membro.

auto_ptr<Other>dell'operatore

Cast da un tipo di auto_ptr a un altro tipo di auto_ptr.

auto_ptr_ref<Other>dell'operatore

Cast da auto_ptr a auto_ptr_ref.

Requisiti

Intestazione:<memory>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Thread safety della libreria C++ standard

unique_ptr Class

Altre risorse

<memoria> membri