首页 > 技术文章 > Effective C++ 条款10:令operator= 返回一个reference to *this

zhonghuasong 2017-08-13 17:42 原文

class Widget {
public:
	...
	Widget& operator+=(const Widget& rhs)		// 返回类型是个reference,指向当前对象
	{
		...
		return *this;
	}
	Widget& operator=(int rhs)					// 此函数夜适用,即使此一操作符的参数类型不符协定
	{
		...
		return *this;
	}
}

注意 这只是一个协议,并无强制性。
这个协议适用于所有赋值相关运算。
这份协议被所有内置类型和标准程序库提供的类型如string,vector,complex,tr1::shared_ptr等共同遵守。

总结

  1. 令赋值 (assignment)操作符返回一个reference to *this。

推荐阅读