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)
Défini dans l'en-tête <memory>
template < class T > class auto_ptr ;
(1) (obsolète en C++11)
(supprimé en C++17)
template <> class auto_ptr < void > ;
(2) (obsolète en C++11)
(supprimé en C++17)

auto_ptr est un pointeur intelligent qui gère un objet obtenu via une expression new et supprime cet objet lorsque auto_ptr lui-même est détruit. Il peut être utilisé pour assurer la sécurité face aux exceptions pour les objets alloués dynamiquement, pour transférer la propriété d'objets alloués dynamiquement vers des fonctions et pour renvoyer des objets alloués dynamiquement depuis des fonctions.

La copie d'un auto_ptr copie le pointeur et transfère la propriété vers la destination : à la fois la construction par copie et l'affectation par copie d'un auto_ptr modifient leurs arguments de droite, et la "copie" n'est pas égale à l'original. En raison de ces sémantiques de copie inhabituelles, auto_ptr ne peut pas être placé dans les conteneurs standards. std::unique_ptr est préféré pour cet usage et d'autres. (depuis C++11)

2) Une spécialisation pour le type void est fournie, elle déclare le typedef element_type , mais aucune fonction membre.

Un modèle de classe supplémentaire auto_ptr_ref est référencé dans toute la documentation. Il s'agit d'un type défini par l'implémentation qui contient une référence à auto_ptr . L'implémentation est autorisée à fournir le modèle sous un nom différent ou à implémenter les fonctions le retournant ou l'acceptant comme paramètre de différentes manières.

Table des matières

Types membres

Type de membre Définition
element_type T

Fonctions membres

crée un nouveau auto_ptr
(fonction membre publique)
détruit un auto_ptr et l'objet géré
(fonction membre publique)
transfère la propriété d'un autre auto_ptr
(fonction membre publique)
convertit le pointeur géré en un pointeur vers un type différent
(fonction membre publique)
Observateurs
retourne un pointeur vers l'objet géré
(fonction membre publique)
accède à l'objet géré
(fonction membre publique)
Modificateurs
remplace l'objet géré
(fonction membre publique)
libère la propriété de l'objet géré
(fonction membre publique)