Effective C++ 条款10:令operator= 返回一个reference to *this
class Widget {
public:
...
Widget& operator+=(const Widget& rhs) // 返回类型是个reference,指向当前对象
{
...
return *this;
}
Widget& operator=(int rhs) // 此函数夜适用,即使此一操作符的参数类型不符协定
{
...
return *this;
}
}
注意 这只是一个协议,并无强制性。
这个协议适用于所有赋值相关运算。
这份协议被所有内置类型和标准程序库提供的类型如string,vector,complex,tr1::shared_ptr等共同遵守。
总结
- 令赋值 (assignment)操作符返回一个reference to *this。