Paramètre un pointeur vers NULL
après free
est une pratique douteuse qui est souvent popularisé comme une "bonne programmation" règle manifestement fausse prémisse. C'est l'une de ces fausses vérités qui appartiennent à la "sonne juste" de la catégorie, mais en réalité atteindre absolument rien d'utile (et parfois conduit à des conséquences négatives).
Apparemment, paramètre un pointeur vers NULL
après free
est censé empêcher le terrible "double" problème lors de la même valeur du pointeur est passé de free
plus d'une fois. En réalité, si, dans 9 cas sur 10, le véritable "double" problème se produit lorsque différents pointeur des objets ayant la même valeur de pointeur sont utilisés comme arguments pour free
. Inutile de dire que, paramètre un pointeur vers NULL
après free
réalise absolument rien pour empêcher le problème dans ce cas.
Bien sûr, il est possible d'exécuter en "double" problème lors de l'utilisation de la même pointeur de l'objet comme argument d' free
. Cependant, dans la réalité des situations comme ça normalement indiquer un problème avec le général de la structure logique du code, non pas un simple accidentelle "double". Une bonne façon de traiter le problème dans ce cas est de revoir et de repenser la structure du code, afin d'éviter la situation où le même pointeur est passé de free
plus d'une fois. Dans de tels cas, le réglage du pointeur à l' NULL
et en considérant que le problème est "résolu" n'est rien de plus qu'une tentative de balayer le problème sous le tapis. Il ne fonctionnera pas dans le cas général, parce que le problème avec la structure du code qui sera toujours à trouver une autre façon de se manifester.
Enfin, si votre code est spécifiquement conçu pour s'appuyer sur le pointeur de la valeur en NULL
ou non, NULL
, il est parfaitement bien pour définir la valeur du pointeur d' NULL
après free
. Mais en général les "bonnes pratiques" de la règle (comme dans "toujours configurer votre pointeur à l' NULL
après free
"), il est, une fois de plus, un fait bien connu et assez inutile, faux, souvent suivis par certains pour des raisons purement religieux, le vaudou comme raisons.