开发者

Is there any use in assigning NULL to a pointer after deleting it in destructor in C++? [duplicate]

This question already has answers here: Closed 12 years ago.

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 ;)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜