EffectiveC++学习笔记-条款10

条款10 令operator=返回一个reference to *this
例如正常情况下我们可能想实现如下代码:

int x,y,z;
x = y = z = 20;

这种就是赋值连锁形式,为了实现连锁赋值,赋值操作符必须返回一个reference指向操作符的左侧实参。
这是大家实现class应该遵守的协议。

class Wdiget
{
public:
    ...
    Wdiget& operator=(const Wdiget& rhs)
    {
        ...
        return *this;  //返回左侧对象
    }
};  

其他赋值运算也应该遵守这个规定!

你可能感兴趣的:(C++)