benxintuzi

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

为了编程的简洁性,有时候需要串联赋值,如:x = y = z = 15; 由于赋值采用右结合,因此上述语句被解释为:x = (y = (z = 15));

为了实现串联赋值,复制操作符函数必须返回一个指向操作符左侧实参的的引用,如下:

 1 class Widget
 2 {
 3 public:
 4     ...
 5     Widget& operator=(const Widget& rhs)
 6     {
 7     ...
 8     return *this;
 9     }
10     ...
11 };

 

注意:

这个规则不仅适用于赋值 = ,对于其他操作符如 += 、 -= 等同样适用。

 

posted on 2015-05-26 13:48  benxintuzi  阅读(145)  评论(0编辑  收藏  举报