this指针链接问题
可是this链接我有点不懂如这一句calc.add(5).sub(3).mult(4);在学习过程中知道了this其实是一个const指针,可接受类成员变量的地址,
这个代码是我教材的代码,并不是自己扣字扣出来的,
对于代码的解读,add是calc类型的引用,并且add等于*this,可这样理解this=&calc.m_value,然后this+=value然后进行return this解引用,其他的类似(这一句是我自己琢磨出来的可能不对)然后得到(5-3)*4,最终返回m_value;的值。
可是calc.add(5).sub(3).mult(4);就不怎么理解了?说是返回的是*this
class Calc
{
private:
int m_value;
public:
Calc() { m_value = 0; }
Calc& add(int value) { m_value += value; return *this; }
Calc& sub(int value) { m_value -= value; return *this; }
Calc& mult(int value) { m_value *= value; return *this; }
int getValue() { return m_value; }
};
#include <iostream>
int main()
{
Calc calc;
calc.add(5).sub(3).mult(4);
std::cout << calc.getValue() << '\n';
return 0;
}