c++ 我对临时变量的理解

临时变量是一种如果没有变量来接收他,那么就释放的变量

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");
}

 

返回变量的时候,最好返回临时变量或者引用,而不是变量,

 

你可能感兴趣的:(C++)