-1
 MyClass & operator=(const MyClass &rhs);

"&" とはどういう意味ですか? My Classの代わりになぜではないのMyClass &ですか?

4

2 に答える 2

2

の戻り値が参照&であることを単に意味します。operator =

これは、演算子のオーバーロードとは関係ありません。通常の関数定義と同じ構文です。

MyClass& foo()
{
  return *this; // returns a reference to MyClass instance
}

MyClass foo()
{
  return *this; // returns a copy of MyClass instance
}
于 2013-03-25T04:34:33.023 に答える
0

返すMyClass&のは、演算子「=」をチェーンで機能させるためだけです。'=' をオーバーロードしても、返さMyClass&れるか別の何かが影響を与えることはありません。

返すMyClass&ことで、組み込みのデータ型で使用するのと同じように「=」を使用できます。例えば。

int x = y = z = 123;

同様の議論については、Thinking in C++ (iostream に関する議論) を参照してください。

于 2013-03-25T12:01:37.727 に答える