读书人

~string 中要写 ptr=null 吗?该怎么

发布时间: 2012-02-05 12:07:14 作者: rapoo

~string 中要写 ptr=null 吗?
总觉得曼奇怪,为什么
~string()
{
... ...
//最后,有些书写到这还写下面一句
ptr=NULL
}

总感觉没有必要,对象都析够拉,不知道我想法对不?

[解决办法]
写了也好。因为总有人无意中(甚至是喜欢)非法引用已经析构的对象。
[解决办法]
防止野指针..
[解决办法]
写了还是有好处的
[解决办法]
防止野指针,是好习惯
[解决办法]
没有必要
使用已经析构的东西就是应该报错,要不然把错误隐藏起来了更难查
[解决办法]
*(NULL指针)肯定报错,相反,野指针未必报错。
[解决办法]
delete NULL 肯定不报错, delete 野指针通常要报错
[解决办法]
这样写是很有必要的
当你释放一个空间的时候
系统并不会将其置为 NULL
而如果你 if(ptr == NULL)这样进行
你又认为它是 NULL
那程序不是产生逻辑错误了吗
[解决办法]
防止野指针
[解决办法]
没有必要。防止引用被析构的对象不是需要在这里进行保证的。

读书人网 >C++

热点推荐