当我需要声明自己的析构函数?

时间:2011-10-24 08:44:04

标签: c++ oop destructor

如果class不存在用户定义的析构函数,并且需要一个析构函数,则编译器会隐式声明析构函数。当我需要声明自己的析构函数时?

4 个答案:

答案 0 :(得分:4)

当隐式声明的析构函数不能满足你的需要时。

这有点牵扯。您应该查看并研究rule of three

答案 1 :(得分:1)

如果您在构造函数中或之后分配内存,创建对象或其他任何内容,则需要在对象被破坏时进行清理。

答案 2 :(得分:1)

当你想确保某些事情完成时。 '某事'通常会关闭网络连接或文件或释放一些内存等......

答案 3 :(得分:1)

每次必须执行对象销毁的特殊任务,即:内存释放,关闭网络连接,递减计数引用,线程同步,抛出存储的异常等。