c ++一時変数の私の理解

一時変数は、受け取る変数がない場合に解放される変数です。

クラスA
{ public:     A()     {         std :: cout << "1 A()\ n";     }




    A(const A&aa)
    {         std :: cout << "コピー構築\ n";     }

 

    〜A()
    {         std :: cout << "2〜A()\ n";     } };


//関数によって返される型が値の場合、戻り値は一時変数です

TestA()
{     return A(); }

//変数が返されると、コピー構造が呼び出されて一時変数が生成されます

TestA2()
{ A aa1     = A();     aa1を返します。}


 

int main()
{      A(); //変数の受信がない場合にリリース

 TestA();
    system( "pause");
}

 

変数を返すときは、変数ではなく一時変数または参照を返すのが最善です。

 

おすすめ

転載: blog.csdn.net/m0_37981386/article/details/107556472