VC++ delete指针后要赋值为NULL的原因
2016-11-02 16:56
183 查看
C++标准规定:delete空指针是合法的,没有副作用,所以我们在Delete指针后赋值为NULL或0是个好习惯。对一个非空指针delete后,若没有赋NULL,若再次delete的话
可以看出delete是释放指针指向的内存,并不是指针本身所占有的内存。所以delete后,指针的还是指向那块区域,并未清0,所以如果下次用到,就会发生xxx空间不能访问的异常。
以后delete后要赋值为空。
相关文章推荐
- delete指针之后应该赋值NULL
- delete指针之后应该赋值NULL
- 堆分配的内存全局可以用(只要不delete,且指针赋值NULL)
- delete指针以后应赋值为NULL
- delete指针以后应赋值为NULL——QT deletelater指针以后也同样要马上赋值为NULL
- 你所不知道的事儿--C++中delete指针后最好赋值为NULL
- 你所不知道的事儿--C++中delete指针后最好赋值为NULL
- C++在delete指针后要赋值为NULL
- 你所不知道的事儿--C++中delete指针后最好赋值为NULL
- delete指针之后应该赋值NULL
- delete指针之后应该赋值NULL
- delete指针后应该将指针赋值为NULL
- delete指针以后应赋值为NULL
- 指针被delete之后应该赋值NULL
- delete指针之后应该赋值NULL
- 解决vc++DEBUG ERROR问题前几天师弟调试程序的时候出现了这样一个错误,出错的位置是在delete [] 一个动态分配的数组时出现的。 经过调查发现错误是因为他之前在给数组赋值的时候越界了
- delete 指针之后 ,只是释放了指针指向的内存空间,指针不会自动置为NULL,还有delete 遇到指针为NULL时不会调用析构函数
- 心得分享:C类成员指针默认不为NULL的原因
- 指针赋值为NULL;是什么意思呢?
- 关于“为什么delete以后指针还能被赋值”一种描述