Partager via


auto_ptr Class

Enroule un pointeur intelligent autour d'une ressource qui garantit que la ressource est perdue automatiquement lorsque le contrôle permet à un bloc.

La classe est capable d' unique_ptr remplace auto_ptr.Pour plus d'informations, consultez unique_ptr Class.

Pour plus d'informations sur throw() et la gestion des exceptions, consultez l' Spécifications d'exception.

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

Paramètres

  • _Right
    auto_ptr à partir duquel obtenir une ressource existante.

  • _Ptr
    Le pointeur spécifié pour remplacer le pointeur stocké.

Notes

La classe de modèle décrit un pointeur intelligent, appelé auto_ptr, à un objet alloué.Le pointeur doit être null ou désigner un objet alloué par new.auto_ptr transfère la propriété si sa valeur signalée est assignée à un autre objet.(Il remplace la valeur enregistrée après un transfert par un pointeur null.) Le destructeur de auto_ptr<Type> supprime l'objet alloué.auto_ptr<Type> garantit qu'un objet alloué est automatiquement supprimée lorsque le contrôle permet à un bloc, même dans une exception.Vous ne devez pas construire deux objets d' auto_ptr<Type> qui posséder le même objet.

Vous pouvez passer un objet d' auto_ptr<Type> par valeur comme argument à un appel de fonction.auto_ptr ne peut pas être un élément d'un conteneur standard de bibliothèque.Vous ne pouvez pas de manière fiable gérer une séquence d'objets d' auto_ptr<Type> avec un conteneur de types Standard.

Membres

ew3fk483.collapse_all(fr-fr,VS.110).gifConstructeurs

auto_ptr

Le constructeur pour les objets de type auto_ptr.

ew3fk483.collapse_all(fr-fr,VS.110).gifTypedef

element_type

Le type est un synonyme pour le paramètre Typede modèle.

ew3fk483.collapse_all(fr-fr,VS.110).gifFonctions membres

Obtenir

La fonction membre retourne le pointeur de myptr.

version finale

Le membre remplace le pointeur de myptr par un pointeur null et retourne le pointeur précédemment enregistré.

reset

La fonction membre évalue l'expression delete myptr, mais uniquement si la valeur de pointeur stockée myptr change à la suite de l'appel de fonction.Elle remplace le pointeur stocké par ptr.

ew3fk483.collapse_all(fr-fr,VS.110).gifOpérateurs

operator=

Un opérateur d'assignation qui transfère la propriété d'un objet d' auto_ptr à un autre.

operator*

L'opérateur d'annulation de référence pour les objets de type auto_ptr.

operator->

L'opérateur pour permettre l'accès au membre.

auto_ptr<Other>d'opérateur

Casts d'un type d' auto_ptr à un autre type d' auto_ptr.

auto_ptr_ref<Other>d'opérateur

Casts d' auto_ptr à auto_ptr_ref.

Configuration requise

En-tête :<memory>

L'espace de noms : DST

Voir aussi

Référence

Sécurité des threads dans la bibliothèque C++ standard

unique_ptr Class

Autres ressources

<memory> membres