C ++:为什么析构函数不像删除指针那样设计?

时间:2014-12-06 00:51:42

标签: c++ destructor

如果我们第一次删除指针,它会释放内存并为指针指定NULL。 如果我们第二次删除指针(带有NULL值),则没有任何反应,也不会抛出任何错误。

那么为什么析构函数不像删除指针那样设计, 我们调用对象的析构函数,并为对象赋值,如NULL。 这样可以多次调用析构函数而不会出错?

[更新]我的意思是我们明确地为指针指定NULL。

1 个答案:

答案 0 :(得分:3)

构造函数和析构函数的全部目的是避免手动调用析构函数。它的设计使得物体在不再使用时会自动销毁。这使得程序员更难以忘记删除对象;或使用已被删除的对象。