C++标准规定:delete空指针是合法的,没有副作用。所以我们一般在delete后就以为万事大吉了,其实这是不安全的。
我们在Delete指针后赋值为NULL或0是个好习惯。对一个非空指针delete后,若没有赋NULL,若再次delete的话
有可能出现问题。如下代码:
可以看出delete是释放指针指向的内存,并不是指针本身所占有的内存。所以delete后,指针的还是指向那块区域,并
未清0,所以如果下次用到,就会发生xxx空间不能访问的异常。
所以以后delete后要赋值为空,这样就不会产生一些不可预知的内存错误。