std:: auto_ptr
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<memory>
|
||
|
template
<
class
T
>
class
auto_ptr
;
|
(1) |
(veraltet in C++11)
(entfernt in C++17) |
|
template
<>
class
auto_ptr
<
void
>
;
|
(2) |
(veraltet in C++11)
(entfernt in C++17) |
auto_ptr
ist ein intelligenter Zeiger, der ein Objekt verwaltet, das über einen
new-Ausdruck
erhalten wurde, und dieses Objekt löscht, wenn der
auto_ptr
selbst zerstört wird. Er kann verwendet werden, um Ausnahmesicherheit für dynamisch allokierte Objekte zu gewährleisten, um den Besitz dynamisch allokierter Objekte an Funktionen zu übergeben und um dynamisch allokierte Objekte aus Funktionen zurückzugeben.
Das Kopieren eines
auto_ptr
kopiert den Zeiger und überträgt den Besitz auf das Ziel: Sowohl Kopierkonstruktion als auch Kopierzuweisung von
auto_ptr
modifizieren ihre rechten Argumente, und die "Kopie" ist nicht gleich dem Original. Aufgrund dieser ungewöhnlichen Kopiersemantik darf
auto_ptr
nicht in Standardcontainern platziert werden.
std::unique_ptr
wird für diesen und andere Zwecke bevorzugt.
(since C++11)
element_type
, aber keine Member-Funktionen.
Eine zusätzliche Klassenvorlage
auto_ptr_ref
wird in der gesamten Dokumentation erwähnt. Es handelt sich um einen implementierungsdefinierten Typ, der eine Referenz auf
auto_ptr
enthält. Der Implementierung ist es gestattet, der Vorlage einen anderen Namen zu geben oder die Funktionen, die sie zurückgeben oder als Parameter akzeptieren, auf andere Weise zu implementieren.
Inhaltsverzeichnis |
Mitgliedertypen
| Mitgliedstyp | Definition |
| element_type | T |
Memberfunktionen
erstellt einen neuen
auto_ptr
(öffentliche Elementfunktion) |
|
zerstört einen
auto_ptr
und das verwaltete Objekt
(öffentliche Elementfunktion) |
|
überträgt den Besitz von einem anderen
auto_ptr
(öffentliche Elementfunktion) |
|
|
konvertiert den verwalteten Zeiger in einen Zeiger auf einen anderen Typ
(öffentliche Elementfunktion) |
|
Beobachter |
|
|
gibt einen Zeiger auf das verwaltete Objekt zurück
(öffentliche Elementfunktion) |
|
|
greift auf das verwaltete Objekt zu
(öffentliche Elementfunktion) |
|
Modifikatoren |
|
|
ersetzt das verwaltete Objekt
(öffentliche Elementfunktion) |
|
|
gibt den Besitz des verwalteten Objekts frei
(öffentliche Elementfunktion) |
|