- Auto_ptr sera-t-il obsolète dans la norme C ++ entrante?
- Unique_ptr doit-il être utilisé pour le transfert de propriété au lieu de shared_ptr?
- Si unique_ptr n'est pas dans la norme, dois-je utiliser shared_ptr à la place?
Réponses
Trop de publicités?Dans C++0x std::auto_ptr
sera dépréciée en faveur de l' std::unique_ptr
. Le choix de pointeur intelligent dépendra de votre utilisation et de vos besoins, avec std::unique_ptr
avec la sémantique de déplacement pour une propriété unique qui peut être utilisé à l'intérieur de récipients (à l'aide de la sémantique de déplacement) et std::shared_ptr
lorsque la propriété est partagée.
Vous devriez essayer d'utiliser le pointeur intelligent qui correspond le mieux à la situation, choisir le bon type de pointeur fournit d'autres programmeurs avec un aperçu de votre conception.
Oui, dès aujourd'hui - auto_ptr
sera obsolète dans C++0x et vous devez utiliser unique_ptr
à la place. À partir de la dernière avant-projet de norme (n3035), de l'article D. 9
Le modèle de classe
auto_ptr
est obsolète. [ Note: Le modèle de classeunique_ptr
(20.9.10) fournit une meilleure solution. -la note de fin ]
Jusqu'à ce que le standard est ratifié, il est toujours possible que le comité de réviser cette décision, bien que je pense que c'est peu probable pour cette décision.