Namespaces
Variants

std:: auto_ptr

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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)

2) Spezialisierung für den Typ void wird bereitgestellt, sie deklariert den Typedef 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)