Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Speichert einen Zeiger auf einen zugehörigen Objekt.Das - Objekt wird von kein anderes unique_ptr gehören.Das - Objekt zerstört wird, wenn unique_ptr zerstört wird.
template<class Type, class Del = default_delete<Type> >
class unique_ptr {
public:
typedef Type element_type;
typedef Del deleter_type;
typedef T1 pointer;
unique_ptr ();
unique_ptr (
nullptr_t _Nptr
);
explicit unique_ptr (
pointer _Ptr
);
unique_ptr (
pointer _Ptr,
typename conditional<
is_reference<Del>::value,
Del,
typename add_reference<const Del>::type
>::type _Deleter
);
unique_ptr (
pointer _Ptr,
typename remove_reference<Del>::type&& _Deleter
);
unique_ptr (
unique_ptr&& _Right
);
template<class Type2, Class Del2>
unique_ptr (
unique_ptr<Type2, Del2>&& _Right
);
~unique_ptr ();
unique_ptr& operator= (
unique_ptr&& _Right
);
template<class Type2, Class Del2>
unique_ptr& operator= (
unique_ptr<Type2, Del2>&& _Right
);
void swap (
unique_ptr& _Right
);
pointer release ();
void reset (
pointer _Ptr = pointer()
);
pointer get () const;
Type& operator* () const;
pointer operator-> () const;
Del& get_deleter ();
const Del& get_deleter () const;
explicit operator bool () const;
unique_ptr(
const unique_ptr& _Right
) = delete;
unique_ptr& operator=(
const unique_ptr& _Right
) = delete;
private:
pointer stored_ptr; // exposition only
Del stored_deleter; // exposition only
};
Parameter
_Right
unique_ptr_Nptr
Ein rvalue vom Typ std::nullptr_t._Ptr
pointer_Deleter
Eine deleter-Funktion, die zu unique_ptr gebunden ist.
Ausnahmen
Es werden keine Ausnahmen durch unique_ptr generiert.
Hinweise
Die unique_ptr-Klasse löst auto_ptr ab und kann als Element von STL-Containern verwendet werden.
unique_ptr verwaltet eindeutig eine Ressource.Jedes - Objekt unique_ptr speichert einen Zeiger auf das - Objekt, das dieser einen NULL-Zeiger besitzt oder speichert.Eine Ressource kann über höchstens ein unique_ptr-Objekt besitzen; Wenn ein unique_ptr-Objekt, das eine bestimmte Ressource besitzt, zerstört wird, wird die Ressource freigegeben.Ein - Objekt unique_ptr wird verschoben, sondern kopiert werden; weitere Informationen finden Sie unter Rvalu-Verweis-Deklarator: &&.
Die Ressource wird freigegeben, indem ein deleter gespeichertes Objekt des Typs Del aufruft, der kann, Ressourcen für bestimmte unique_ptr zugeordnet werden.Standard deleterdefault_delete<Type> wird davon ausgegangen, dass die Ressource, auf _Ptr durch dargestellt wird, mit new zugeordnet ist und dass sie freigegeben werden kann, indem delete _Ptr aufruft.(Mit partiellen Spezialisierung unique_ptr<Type[]> A verwaltet die Arrayobjekte, die mit new[] zugeordnet und verfügt deleter Standard default_delete<Type[]>, spezialisiert, um delete [] _Ptr aufzurufen.)
Der gespeicherte Zeiger auf zugehörigen Ressourcen, stored_ptr ist vom Typ pointer.Es ist Del::pointer, wenn es definiert wird, und wenn Type * nicht.Das gespeicherte deleter-Objekt stored_deleter nimmt keinen Platz im - Objekt, wenn deleter statusfrei ist.Beachten Sie, dass Del ein Verweistyp sein kann.
Mitglieder
Konstruktoren
Es gibt sieben Konstruktoren für unique_ptr. |
Typedefs
Ein Synonym für den Vorlagenparameter Del. |
|
Ein Synonym für den Vorlagenparameter Type. |
|
Ein Synonym für Del::pointer, wenn Sie; andernfalls Type * definiert werden. |
Memberfunktionen
Gibt stored_ptr zurück. |
|
Gibt einen Verweis auf stored_deleter zurück. |
|
speichert pointer() in stored_ptr und gibt den vorhergehenden Inhalt zurück. |
|
Gibt die aktuelle besitzenden Ressourcen frei und akzeptiert eine neue Ressource. |
|
Tauscht Ressource und deleter mit dem bereitgestellten unique_ptr aus. |
Operatoren
operator bool |
Der Operator gibt einen Wert eines Typs zurück, der zu bool konvertiert werden kann.Das Ergebnis der Konvertierung zu bool ist true wenn get() != pointer(); andernfalls false. |
operator-> |
Die Memberfunktion gibt stored_ptr. zurück |
operator* |
Das Memberfunktion returns*stored_ptr. |
Weist unique_ptr den aktuellen Wert von unique_ptr(oder von pointer-type). |
Anforderungen
Header: <memory>
Namespace: std