首页 > 解决方案 > 为什么复制赋值运算符返回 *this?

问题描述

复制赋值运算符应该让 LHS 等于 RHS。

为什么会返回 *this?

标签: c++

解决方案


这支持链式赋值:

a = b = c = 0;

这将 0 分配给 a、b 和 c 中的每一个。

返回(非常量)引用而不是值支持以下内容:

(a = b) = 0;

这也是允许的,尽管它不是很常见。


推荐阅读