当前位置:   article > 正文

C++指针delete后赋值为NULL的一些问题_指针delete之后没有赋null会有什么危害

指针delete之后没有赋null会有什么危害

C++标准规定:delete空指针是合法的。

 p=NULL后p指向0x0这个地址,NULL其实就是0x0,多次对0x0进行操作,系统默认合法。

对于非空指针delete后若未赋值为NULL,p将成为一个非法指针(野指针),后续代码如果使用到该指针有可能会造成系统崩溃(内存不可以读不可写),或者,破坏自身有效内存数据(释放后,又在申请作为别的用途,恰巧系统分配了同一块内存),再次delete系统会报异常甚至崩溃。

所以delete指针后赋值为NULL或0是个好习惯。

 

感谢原作者分享!

http://blog.sina.com.cn/s/blog_744b4e1e0102x5ed.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/728485
推荐阅读
相关标签
  

闽ICP备14008679号