C++中,在用delete或用free释放p所指的内存后。应该马上显式地将p置为NULL,为什么?"以防下次使用p时发生错误。"为什么会发生错误?释放到底是释放了什么?

热心网友

当你不置成 NULL,你无法判断这个指针是否已经释放了,当这样干了之后以后使用时如下:if( p ) 使用 p就不会出现误用已释放指针的情况。否则会出现使用已释放内存或重复释放一个指针的问题。