我是C++編程的初學者,我有一個關於C++類構造函數的簡單問題。 爲以下代碼片段調用構造函數多少次?構造函數被調用多少次?
std::string s = std::string("hello world");
我想這是兩個,對吧?第一個是字符串(const char * s),第二個是字符串(常量字符串& s)。如果我錯了,請糾正我。
接下來的問題是,如果我在釋放模式下編譯代碼,編譯器會自動優化它嗎?例如把它當作std::string s("hello world");
不同的編譯器有不同的行爲嗎?
檢查C++ 11中的移動構造函數。 –
C++ 03的行爲是什麼? –