1、何时调用析构函数
(1)变量在超出作用域时自动撤销。
(2)动态分配的对象只有在指向该对象的指针被删除时才撤销。如果没有delete,会导致内存泄漏,而且对象内部使用的任何资源也不会释放。
(3)当对象的引用或指针超出作用域时,不会运行析构函数。只有删除指向动态分配对象的指针或实际对象超出作用域时,才会运行析构函数。
2、编写析构函数
class MyClass{
pubic:
~MyClass();
};
1、何时调用析构函数
(1)变量在超出作用域时自动撤销。
(2)动态分配的对象只有在指向该对象的指针被删除时才撤销。如果没有delete,会导致内存泄漏,而且对象内部使用的任何资源也不会释放。
(3)当对象的引用或指针超出作用域时,不会运行析构函数。只有删除指向动态分配对象的指针或实际对象超出作用域时,才会运行析构函数。
2、编写析构函数
class MyClass{
pubic:
~MyClass();
};