struct my
{
my(){ std::cout<<"Default";}
my(const my& m){ std::cout<<"Copy";}
~my(){ std::cout<<"Destructor";}
};
int main()
{
my m(); //1
my n(my()); //2
}
預期輸出:構造函數調用機制
1) Default
2) Copy
實際輸出:
這有什麼錯我的構造函數調用機制的理解?
Note
爲了簡潔,我省略了頭文件。
這不是所謂的RVO,但它確實是一種常見的優化。 – MSalters 2010-11-26 10:53:36