Freigeben über


auto_ptr-Klasse

Umschließt einen intelligenten Zeiger um eine Ressource ein, die sicherstellt, dass die Ressource automatisch zerstört, wenn Steuerelement einen Block verlässt.

Die fähigere unique_ptr-Klasse löst auto_ptr ab. Weitere Informationen finden Sie unter unique_ptr-Klasse.

Weitere Informationen über throw() und Ausnahmebehandlung, finden Sie unter Ausnahmespezifikationen.

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

Parameter

  • _Right
    Die auto_ptr, von einer vorhandenen Ressource abzurufen.

  • _Ptr
    Der Zeiger angegeben, um die gespeicherten Zeiger zu ersetzen.

Hinweise

Die Vorlagenklasse beschreibt einen intelligenten Zeiger, auto_ptr, auf einen zugeordneten Objekt. Der Zeiger NULL sein muss entweder oder ein Objekt festlegen, das vom new zugeordnet ist. auto_ptr überträgt Besitz, wenn sein gespeicherten Werts zu einem anderen Objekt zugewiesen wird. (Es ersetzt den gespeicherten Wert nach einer Übertragung durch einen NULL-Zeiger.) Der Destruktor für auto_ptr<Type> löscht das zugeordnete Objekt. auto_ptr<Type> stellt sicher, dass ein zugehöriges Objekt automatisch, wenn ein Steuerelement einen Block verlässt, auch durch eine Ausnahme gelöscht wird. Es sollten zwei auto_ptr<Type> keine Objekte erstellen, die, identisch besitzen welches Objekt Sie.

Sie können ein auto_ptr<Type>-Objekt durch Wert als Argument übergeben zu einem Funktionsaufruf. auto_ptr kann ein Element eines Standardbibliothekscontainers sein. Sie können eine Sequenz von auto_ptr<Type>-Objekten mit einem Standardvorlagenbibliothekscontainer nicht zuverlässig verwalten.

Member

Konstruktoren

auto_ptr

Der Konstruktor für Objekte des Typs auto_ptr.

Typedefs

element_type

Der Typ ist ein Synonym für den Vorlagenparameter Type.

Memberfunktionen

get

Die Memberfunktion gibt dem gespeicherten Zeiger myptr zurück.

release

Der Member ersetzt gespeicherten Zeiger myptr durch einen NULL-Zeiger und gibt dem vorher gespeicherten Zeiger zurück.

reset

Die Memberfunktion wertet den Ausdruck delete myptr enthalten, jedoch nur aus, wenn der gespeicherte Zeigerwert myptr aufgrund des Funktionsaufrufs ändert. Sie ersetzt dann den gespeicherten Zeiger von ptr.

Operatoren

operator=

Ein Zuweisungsoperator, der den Besitz von einem auto_ptr-Objekt für andere übertragen wird.

operator*

Der Dereferenzierungsoperator für Objekte des Typs auto_ptr.

Operator->

Der Operator zum Zulassen des Memberzugriffs.

Operator auto_ptrOther <>

Fragmenttyp Umwandlungen von auto_ptr zu einer anderen Art auto_ptr.

Operator auto_ptr_refOther <>

Typumwandlungen von auto_ptr in auto_ptr_ref.

Anforderungen

Header:<Arbeitsspeicher>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

unique_ptr-Klasse

Weitere Ressourcen

<memory> Member