大家好,今天给大家分享析构函数什么时候调用,一起来看看吧。

  • 自动变量对象:如果对象是动态变量,则当执行完定义该对象的程序块时,将调用该对象的析构函数。
  • 34;MyClass constructor&34;MyClass destructor&34;main function&include <iostream>class MyClass {public:MyClass() { std::cout << &34; << std::endl; }~MyClass() { std::cout << &34; << std::endl; }};static MyClass myStaticObj; // 定义静态对象int main() {std::cout << &34; << std::endl;return 0;}
  • 动态分配对象{使用new运算符}:如果对象是用new创建的,则仅当您显式使用delete删除对象时,其析构函数才会被调用。
  • 34;MyClass constructor&34;MyClass destructor" << std::endl; }};int main() {MyClass* ptr = new MyClass(); // 动态分配对象delete ptr; // 释放对象,析构函数被调用return 0;}

    以上就是析构函数什么时候调用的内容分享,希望对大家有用。