コードスニペットは次のとおりです。
class MyClass { public: MyClass(char chIn) { std::cout << "コンストラクター!" << std::endl; }
MyClass & operator= (char chIn) { std::cout << "代入演算子!" << std::endl; } } ;
void Func(MyClass objIn) { return; }
int _tmain(int argc, _TCHAR* argv[]) { Func('T'); システム(「一時停止」); 0 を返します。}
上の例では、オブジェクトのコンストラクターが呼び出されます!!!! この動作はなぜですか?代入演算子を呼び出すべきではありませんか? 関数のパラメーターに値を代入しているためですね。