<分区>
我在看C++类的赋值运算符:
A& operator= (const A& x) {
// do something
return *this;
}
但是,为什么我们需要返回*这个?因为如果我们调用
a = b b是operator=的参数,this指向a。//做一些已经通过从 b 复制改变了 a 的正确内容的事情。如何获得返回类型?此返回的收件人是什么?
或者,这是为了方便a = b = c?
请指教..谢谢!
标签 c++
<分区>
我在看C++类的赋值运算符:
A& operator= (const A& x) {
// do something
return *this;
}
但是,为什么我们需要返回*这个?因为如果我们调用
a = b b是operator=的参数,this指向a。//做一些已经通过从 b 复制改变了 a 的正确内容的事情。如何获得返回类型?此返回的收件人是什么?
或者,这是为了方便a = b = c?
请指教..谢谢!
最佳答案
您不需要从赋值运算符返回对this
的引用; void
是有效的返回类型。但是,出于您声明的原因,这是一个强有力的约定:它促进了分配链。
关于c++ - 为什么 C++ 赋值运算符需要返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110081/