this指针是指对象本身的指针。this并不是对象的组成部分。即,使用sizeof(对象)并不会受this指针大小的影响。this指针作为隐含参数传递到对象成员函数,除static修饰的函数外。this指针可以作为参数返回;也可一通过*this的方式,返回对象的副本。this指针只能作为右值使用,即不能对this指针进行赋值。- 在非
const函数调用时,传递T* const类型指针;在const函数调用时,传递const T* const类型指针。 - 下是一个使用
this指针的例子:#include <iostream> class num { private: int m_a; public: num(int a) : m_a(a) {} num *add_num(int count) { this->m_a += count; return this; } void show_num(void) { std::cout << this->m_a << std::endl; } }; int main(void) { num n = num{0}; n.add_num(1)->add_num(2)->add_num(3)->show_num(); // 输出:6 n.show_num(); // 输出:6 }