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

是什么意思 ”&”?为什么不是 isMy 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&或不同的东西不会增加重载'='的任何效果。

ReturingMyClass&帮助我们使用 '=' 类似于我们在内置数据类型上使用它的方式。例如。

int x = y = z = 123;

有关类似的讨论,请参阅 Thinking in C++,(关于 iostreams 的讨论)。

于 2013-03-25T12:01:37.727 回答