根据以下代码产生的结果,给小弟我说说析构函数的调用时间有关问题
根据以下代码产生的结果,给我说说析构函数的调用时间问题
------解决方案--------------------
因为那个是临时对象。生命期在构造完成就结束立即被析构
- C/C++ code
#include<iostream> using namespace std; class Test { private: int num; public: Test(int a) { num=a; cout<<"第"<<num<<"个Test对象的构造函数被调用"<<endl; } ~Test() { cout<<"第"<<num<<"个Test对象的析构函数被调用"<<endl; } }; int main() { cout <<"进入main函数"<<endl; Test t[4]={1,2,3,4}; Test(5); Test(6); Test(7); cout<<"main函数在运行中"<<endl; cout<<"退出main函数"<<endl; return 0; }
------解决方案--------------------
因为那个是临时对象。生命期在构造完成就结束立即被析构