析构函数用于在一个对象结束时,清理这个对象中的数据,从而更有效的管理资源。如今来研究什么时候调用析构函数ios
Civi对象的头文件函数
#ifndef __destructor__ #define __destructor__ #include <iostream> #include <string> using namespace std; class Civi { public: Civi(); ~Civi(); void println(); private: string name; int age; }; #endif
在构造函数和析构函数中都有输出来显示当前的显示内容
析构函数是系统本身调用的,如咱们再调用的话,会出错,以下代码:spa
int main() { cout<<"Begin"<<endl; Civi civi; civi.println(); civi.~Civi(); cout<<"end"<<endl; return 0; }
在"end"以前的是civi.~Civi()调用的,“end”以后的是系统调用的,可是运行完之后提示double free or corruption,因此应该注意code