临时变量是一种如果没有变量来接收他,那么就释放的变量
class A
{
public:
A()
{
std::cout << " 1 A() \n";
}
A(const A& aa)
{
std::cout << "拷贝构造 \n";
}
~A()
{
std::cout << " 2 ~A() \n";
}
};
//函数返回的类型是值的时候,返回是临时变量
A TestA()
{
return A();
}
//返回变量的时候,会调用拷贝构造,生成临时变量
A TestA2()
{
A aa1= A();
return aa1;
}
int main()
{
A(); //如果没有变量接收就释放
TestA();
system("pause");
}
返回变量的时候,最好返回临时变量或者引用,而不是变量,