Partager via


auto_ptr, classe

Détermine un pointeur intelligent autour d'une ressource qui garantit la ressource est automatiquement détruit lorsque le contrôle laisse un bloc.

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

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 de laquelle une ressource existante.

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

Notes

La classe du modèle décrit un pointeur intelligent, appelé auto_ptr, à un objet alloué. Le pointeur doit avoir la valeur NULL ou indiquer un objet alloué par new. auto_ptr transfère la propriété si la valeur stockée est affectée à un autre objet. (Cette opération remplace la valeur stockée après une migration 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é lorsque le contrôle laisse un bloc, même via une exception levée. Vous ne devez pas créer deux objets d'auto_ptr<Type> que 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 auto_ptr<Type> avec un conteneur Standard TEMPLATE Library.

Membres

Constructeurs

auto_ptr

Le constructeur pour les objets de type auto_ptr.

Typedef

element_type

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

Fonctions membres

Obtenir

La fonction retourne le membre pointeur stockée myptr.

Version finale

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

reset

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

Opé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.

opérateur->

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

auto_ptr<Other> d'opérateur

Conversions d'un type de auto_ptr à un autre type de auto_ptr.

auto_ptr_ref<Other> d'opérateur

Conversions de auto_ptr à auto_ptr_ref.

Configuration requise

**En-tête :**mémoire<de>

Espace de noms : std

Voir aussi

Référence

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

unique_ptr, classe

Autres ressources

<memory> membres