类的成员函数都隐含的定义具有一个附加的隐含形参,即指向该类对象的一个指针。这个隐含形参命名为this,与调用函数成员的对象绑定起来。成员函数不能定义this形参,只能 由编译器。成员函数的函数体可以显示使用this指针,但不是必须这样做。
1、何时使用this指针
当我们需要将一个对象作为整体引用而不是应用对象的一个成员时。
最常用的情况是这样的函数中使用this:该函数返回对调用该函数的对象的引用。
2、从const成员函数上返回*this
在普通的非const成员函数中返回的this指针是是指向类类型的const指针。
在const成员函数中,this的类型是一个指向const类类型的const指针。
这样定义的结果是使得非const对象返回的this对象可以调用const成员函数,而const对象则不可以调用非const成员函数。