C++标准规定:delete空指针是合法的,没有副作用。所以我们一般在delete后就以为万事大吉了,其实这是不安全的。
我们在Delete指针后赋值为NULL或0是个好习惯。对一个非空指针delete后,若没有赋NULL,若再次delete的话
有可能出现问题。如下代码:
可以看出delete是释放指针指向的内存,并不是指针本身所占有的内存。所以delete后,指针的还是指向那块区域,并
未清0,所以如果下次用到,就会发生xxx空间不能访问的异常。
所以以后delete后要赋值为空,这样就不会产生一些不可预知的内存错误。
本文探讨了C++中delete操作后的指针处理问题。解释了为什么在使用delete后应该将指针置空以避免后续可能出现的内存访问异常。通过示例代码说明了delete操作只是释放指针所指向的内存,而不会改变指针本身的值。
1680

被折叠的 条评论
为什么被折叠?



