回報,我很困惑通過下面的例子:困惑參照
class complex {
double re, im;
public:
complex(double r, double i) : re{r}, im{I}()
complex& operator+= (const complex&z) { re += z.re; im += z.im; return *this; }
};
我不明白,爲什麼從operator +=
返回類型爲參照,因爲re
和im
都得到更新。我也不明白爲什麼包含*this
。
我不明白爲什麼你認爲're'和'im'得到更新有什麼做的返回類型。 'return * this;'是因爲'* this'是函數返回引用的對象。 – molbdnilo