Quel type de pointeur dois-je?

Ok, donc la dernière fois que j'ai écrit en C++ pour un vivant, std::auto_ptr a toutes les mst lib disponibles, et boost::shared_ptr était à la mode. Je n'ai jamais vraiment regardé dans l'autre pointeur intelligent types d'achats. Je comprends que C++11 fournit maintenant quelques-uns des types de boost est venu avec, mais pas tous d'entre eux.

Ainsi, quelqu'un avoir un algorithme simple pour déterminer quand utiliser de pointeur intelligent? De préférence, y compris des conseils sur muet pointeurs (raw pointeurs comme T*) et le reste de la poussée des pointeurs intelligents. (Quelque chose comme cette serait génial).

Voir aussi std::auto_ptr à std::unique_ptr
Je suis vraiment en espérant que quelqu'un arrive avec une belle pratique de l'organigramme comme cette STL diagramme de flux de sélection.
Oh, c'est en effet une belle! Je FAQized il.
Ce n'est même pas proche d'être un doublon. Liés à la question dit: "Quand dois-je utiliser un pointeur intelligent", et cette question est "Quand dois-je utiliser ces pointeurs intelligents?", ce qui est de la catégorisation des différentes utilisations de la norme des pointeurs intelligents. Liés question de ne pas faire cela. La différence est petite en apparence, mais c'est un des grands.

OriginalL'auteur sbi | 2012-01-02