条款10:令operator= 返回一个reference to *this
(Have assignment operators return a reference to *this)
内容:
令赋值操作符返回一个自身对象的引用,究其根本原因就是为了实现"连锁赋值",比如,你可以这样写:
int x,y,z;
x=y=z=15;
类似的假如你要使你写的类能实现"连锁赋值",那么你就你的赋值操作符必须返回一个指向操作符的左
侧实参,这个是你应该遵循的协议:
class Interger{
public:
...
Interger& operator=(const Interger& rhs){
...
return *this;
}
};
这个条款只是一个协议,你可以不遵循,但这样的写法已经为大多数内置类型和标准程序库提供的或即
将提供的类型共同遵守,如果你没有一个好的标新立异的理由的话,还是随众吧.
请记住:
◆ 令赋值(assignment)操作符返回一个reference to *this.