MyClass & operator=(const MyClass &rhs);
"&" とはどういう意味ですか? My Class
の代わりになぜではないのMyClass &
ですか?
MyClass & operator=(const MyClass &rhs);
"&" とはどういう意味ですか? My Class
の代わりになぜではないのMyClass &
ですか?
の戻り値が参照&
であることを単に意味します。operator =
これは、演算子のオーバーロードとは関係ありません。通常の関数定義と同じ構文です。
MyClass& foo()
{
return *this; // returns a reference to MyClass instance
}
MyClass foo()
{
return *this; // returns a copy of MyClass instance
}
返すMyClass&
のは、演算子「=」をチェーンで機能させるためだけです。'=' をオーバーロードしても、返さMyClass&
れるか別の何かが影響を与えることはありません。
返すMyClass&
ことで、組み込みのデータ型で使用するのと同じように「=」を使用できます。例えば。
int x = y = z = 123;
同様の議論については、Thinking in C++ (iostream に関する議論) を参照してください。