原则 对于赋值操作符(=,+=)这些最好要遵循这个协议,最终返回一个左值的引用
int x,y,z;
x=y=z=15
如上赋值连锁形式,实际上是
x=(y=(z=15))
所以如果要保留这种连续赋值,需要赋值完成后返回左值的一个引用,如下
Object & operator=(const Object & obj){
...赋值操作
return *this;
}
原则 对于赋值操作符(=,+=)这些最好要遵循这个协议,最终返回一个左值的引用
int x,y,z;
x=y=z=15
如上赋值连锁形式,实际上是
x=(y=(z=15))
所以如果要保留这种连续赋值,需要赋值完成后返回左值的一个引用,如下
Object & operator=(const Object & obj){
...赋值操作
return *this;
}