次のコード スニペットを検討してください。
#include <iostream>
using namespace std;
class Test
{
char name[16];
public:
Test ()
{
cout <<"Inside Constructor"<<endl;
}
Test (const Test & t)
{
cout <<"Inside Copy Constructor "<<endl;
}
};
Test f()
{
return Test();
}
int main ( int argc, char ** argv)
{
Test t;
Test t1 = f();
}
Test t1= f() -> f() を呼び出し、Test オブジェクトを返します。私の理解では、コピー コンストラクターを呼び出す必要があります。しかし、次の出力が得られます。
Inside Constructor
Inside Constructor
私の理解の何が問題になっていますか?