Je vais commencer par dire que, l'utilisation des pointeurs intelligents et vous n'aurez jamais à vous inquiéter à ce sujet.
Quels sont les problèmes avec le code suivant?
Foo * p = new Foo;
// (use p)
delete p;
p = NULL;
Cela a été déclenchée par une réponse et commentaires à une autre question. Un commentaire de Neil Butterworth a généré un peu de upvotes:
Réglage des pointeurs à NULL suite de la suppression n'est pas une bonne pratique en C++. Il y a des moments où c'est une bonne chose à faire, et des fois lorsque c'est inutile et peut masquer les erreurs.
Il y a beaucoup de cas où il ne serait pas aider. Mais dans mon expérience, il ne peut pas nuire. Quelqu'un m'éclairer.