C++析构函数:对象销毁时的清理工作

C++析构函数是对象销毁时自动调用的清理函数,用于释放动态资源(如内存、文件等),避免资源泄漏。其定义格式为:与类名同名但以`~`开头,无参数、无返回值,一个类仅一个,不可重载。 核心作用是清理资源:如动态分配的内存(`delete`时释放)、打开的文件(关闭)等。例如数组类`Array`构造时`new`分配内存,析构时`delete[]`释放,避免内存泄漏。 调用时机:对象离开作用域(如局部变量)、`delete`动态对象、临时对象销毁。默认析构函数由编译器生成,会自动调用成员对象的析构函数。 注意事项:不可显式调用,虚析构函数(基类析构函数声明为`virtual`)需用于基类指针指向派生类对象时,确保派生类资源被正确清理。 总结:析构函数是对象“生命终点”的清理工具,自动调用,合理使用可避免资源浪费与内存泄漏。

阅读全文