#include <iostream>
using namespace std;
//匿名对象可以理解为是一个临时对象,一般系统自动生成的
//如你的函数返回一个对象,这个对象在返回时会生成一个临时对象。
//1)匿名对象生命周期
//2)匿名对象的去和留
class Test{
public:
Test(){
cout << "我是构造函数..." << endl;
}
Test(Test &obj){
cout << "拷贝构造函数..." << endl;
}
~Test(){
cout << "我是析构函数..." << endl;
}
};
void Play(){
Test();
//无参构造函数生成了一个匿名Test类对象
//执行完后,外部没有接此匿名对象的变量,此匿名又被析构了
Test t1 = Test();
//无参构造函数生成了一个匿名Test类对象;
//然后将此匿名变成了t1这个实例对象,此匿名对象没有被析构
cout << "观察析构..." << endl;
}
int main()
{
Play();
getchar();
return 0;
}