99问答网
所有问题
在C++中,指针被delete后而不赋值为NULL,那该指针是什么样的状态,它有指向的内存空间吗?
如题所述
举报该问题
推荐答案 推荐于2017-09-04
那个指针的值是不变的,也就是还指向你申请来的那块空间
但是。
即然delete了,那块空间就不再规你的程序所有了,所以虽然你的那个指针还指向那块内存空间
但你并不具有对那块空间的使用权,访问权。
所以当你在delete后如果试图使用的话,程序就会崩溃
所以最好赋上NULL,防止你写程序时不小心引用导致错误
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/zWtjt77WW.html
其他回答
第1个回答 2011-08-23
指针只是保存所指对象的地址,没有任何状态信息。delete之后,本身指针的内容是不会改变的,只不过它里面保存的地址所对应的内存在系统里标记为未使用的罢了。那段内存随时可能分配给其它进程或者进程内的其它变量。你应该避免使用delete后的内存,这是你的事。为了容易标识,所以才赋值为NULL。
相似回答
大家正在搜
相关问题
c++ 中delete一指针后,该指针的是什么?是 NULL...
c++中delete后赋NULL的问题
c++中delete之后的再new问题
C++中的delete到底是清空什么?是指针本身还是指针所指...
C++指针内存释放问题
c++,为什么可以delete空指针,不可以delete野指...
在C++中,用new申请了指针指向某内存却不用delete销...
c++中delete过后的指针居然还能用 如: int *p...