Is there any use in assigning NULL to a pointer after deleting it in destructor in C++? [duplicate]
Possible Duplicate:
Is it worth setting pointers to NULL in a destructor?
I see some code like this,
void ClassA::~ClassA()
{
delete member;
member = NULL;
}
as the particular instance doesn't exist anymore after this destructor (or the instance is destructed and its members can't be used or dereferenced anymore), wh开发者_运维百科at is the use of assigning NULL to the pointer of member variable?
Is it just a practice taken from deleting a pointer elsewhere and assigning NULL to it?
It's pretty pointless - the space isn't going to be used again until it is reallocated.
It's pointless for release code, but potentially helpful for debugging.
I see no reason for updating data which is already out of scope, and it is NOT good practice to do things "just in case". At any rate do not follow "good practices" blindly, it is better to understand why you do things than being the most fervours practitioner of the "good practices" religion.
yes, this is just good practice. helps one not to forget to set pointers to null elsewhere ;)
精彩评论