一般的連鎖賦值方式:
int x, y, z;
x = y = z = 15;//等價於x = (y = (z = 15));
當我們要實現自己的operator=操作時,就需要返回一個引用,該引用指向了操作符左 側的參數;
1 class Widget
2 {
3 public:
4
5 Widget& operator=(const Widget& rhs)
6 {
7
8 return *this;//返回*this
9 }
10 };
這個*this是所以c++標准實現中的規范做法,不這樣做也可以通過編譯,不過既然是 規范,就遵守一下吧