使用delete删除指针

来源:互联网 发布:淘宝卖二手耳机靠谱吗 编辑:程序博客网 时间:2024/04/29 22:12

原文:http://blog.sina.com.cn/s/blog_6405313801013jvg.html

用delete命令处理某个指针,说是把那个指针删除了是不正确的。

delete命令指示释放了那个指针原本所指的那部分内存而已。被delete后的指针p的值(地址值)并非就是NULL,而是随机值。

也就是被delete后,如果不再加上一句p=NULL,p就成了“野指针”,在内存里乱指一通。

如果在定义p的那个函数在delete了p后,没再调用p,就没什么问题,在这个函数结束后,p就会跟其它变量一样被消除。但若在那个函数里delete了p后,又没再给p赋值(地址值),再次调用p就危险了,因为这时p在内存里乱指,有可能指到一些重要地址,随时可能系统崩溃。

0 0