84 votes

Auto_ptr est-il obsolète?

  1. Auto_ptr sera-t-il obsolète dans la norme C ++ entrante?
  2. Unique_ptr doit-il être utilisé pour le transfert de propriété au lieu de shared_ptr?
  3. Si unique_ptr n'est pas dans la norme, dois-je utiliser shared_ptr à la place?

82voto

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.

22voto

R Samuel Klatchko Points 44549

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 classe unique_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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X