在C++中,析构函数是在对象生命周期结束时自动调用的特殊成员函数,用于释放对象所占用的资源。析构函数的执行时机有以下几种情况:
在对象生命周期结束时:当对象的生命周期结束时(比如对象超出作用域,或者通过delete操作符手动释放对象内存),析构函数会被自动调用。
通过delete操作符手动释放对象内存:当使用new操作符创建对象,在对象使用完毕后,需要手动调用delete操作符释放对象内存,此时析构函数会被调用。
对象作为成员变量时,其析构函数会在包含它的类的析构函数执行时被调用。
对象作为数组时,数组中的每个对象的析构函数会被分别调用。
需要注意的是,析构函数的执行顺序与构造函数的执行顺序相反,即后创建的对象先被销毁。