Freigeben über


auto_ptr Class

Bindet 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 Class.

Weitere Informationen zu throw() und Ausnahmebehandlung, finden Sie unter Ausnahmespezifikation.

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
    Ziehen Sie die auto_ptr, um einer vorhandenen Ressource abzurufen.

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

Hinweise

Die Vorlagenklasse beschreibt einen intelligenten Zeiger, aufgerufen auto_ptr, zu einem zugeordneten - Objekt.Der Zeiger muss entweder NULL sein oder ein Objekt festlegen, das von new zugeordnet ist.auto_ptr überträgt Besitz, wenn der 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> wird sichergestellt, dass ein reserviertes Objekt automatisch, wenn Steuerelement einen Block verlässt, sogar durch eine ausgelöste Ausnahme gelöscht wird.Sie sollten zwei auto_ptr<Type>-Objekte nicht erstellen, die gleich, besitzen Sie Objekt.

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

Mitglieder

ew3fk483.collapse_all(de-de,VS.110).gifKonstruktoren

auto_ptr

Der Konstruktor für Objekte des Typs auto_ptr.

ew3fk483.collapse_all(de-de,VS.110).gifTypedefs

element_type

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

ew3fk483.collapse_all(de-de,VS.110).gifMemberfunktionen

abrufen

Die Memberfunktion gibt den gespeicherten Zeiger myptr zurück.

release

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

reset

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

ew3fk483.collapse_all(de-de,VS.110).gifOperatoren

operator=

Ein Zuweisungsoperator, der Besitz von einem auto_ptr-Objekt für andere überträgt.

operator*

Der Dereferenzierungsoperator für Objekte des Typs auto_ptr.

operator->

Der Operator zum Ermöglichen des Memberzugriffs.

Operator auto_ptr<Other>

Umwandlungen von einer Art auto_ptr zu einer anderen Art auto_ptr.

Operator auto_ptr_ref<Other>

Umwandlungen von auto_ptr zu auto_ptr_ref.

Anforderungen

Header:<memory>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

unique_ptr Class

Weitere Ressourcen

<memory> Member