c++ - 为什么 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/

相关文章:

C++危险的类型转换代码

c++ - 如何使用离屏 DC 一次渲染所有位图的汇编?

c++ - Qt 如何知道何时连接了新的 USB 存储设备?

c++ - 如何将我们自己的函数声明放入 C++ 的 iostream 库中?

c++ - Qt抽象类作为接口(interface)

c++ - 第一个 rand() 在 srand(time(0)) 之后生成相同的值

c++ - 如果你给一个指针加1,它是真的加1,还是加4或32?

C++:boost::asio:write() 不支持 UDP 套接字吗?

c++ - Roguelike FOV问题

c++ - 折叠复制和 move 语义的重载