Classe auto_ptr
Avvolge un puntatore intelligente intorno a una risorsa che fornisca la risorsa verrà automaticamente eliminato quando il controllo di un blocco.
La classe più in grado di unique_ptr sostituisce auto_ptr. Per ulteriori informazioni, vedere Classe unique_ptr.
Per ulteriori informazioni su throw() e sulla gestione delle eccezioni, vedere Specifiche di eccezioni.
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 l'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
Costruttori
Il costruttore per oggetti di tipo auto_ptr. |
Definizioni typedef
Il tipo è sinonimo del parametro di template Type. |
Funzioni del membro
La funzione membro restituisce il puntatore archiviato myptr. |
|
Il membro sostituisce il puntatore archiviato myptr con un puntatore null e restituisce il puntatore sopra archiviato. |
|
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. Sostituisce il puntatore archiviato con ptr. |
Operatori
Un operatore di assegnazione che trasferisce la proprietà da un oggetto di auto_ptr a un altro. |
|
L'operatore dereferenziante per oggetti di tipo auto_ptr. |
|
L'operatore per consentire l'accesso ai membri. |
|
Cast da un tipo di auto_ptr a un altro tipo di auto_ptr. |
|
Cast da auto_ptr a auto_ptr_ref. |
Requisiti
memoria<diIntestazione:>
Spazio dei nomi: std
Vedere anche
Riferimenti
Sicurezza dei thread nella libreria standard C++