定义
this
指针是一个隐含于每一个非静态成员函数中的特殊指针。它指向调用该成员函数的那个对象。
当对一个对象调用成员函数时,编译程序先将对象的地址赋给 this
指针,然后调用成员函数,每次成员函数存取数据成员时,都隐式使用 this
指针。
作用
1.解决成员变量与函数参数同名的问题
当成员变量和函数参数同名时,可以用 this
指针来区分。
示例:
c++
class Example {
private:
int value;
public:
void setValue(int value) {
this->value = value; // 使用 this 区分成员变量和参数
}
2. 支持方法链调用
通过返回 *this
或 this
,可以支持链式调用(method chaining)。
示例:
c++
#include <iostream>
using namespace std;
class Example {
private:
int value;
public:
Example& setValue(int v) {
value = v;
return *this; // 返回当前对象的引用
}
Example& increment() {
value++;
return *this; // 返回当前对象的引用
}
void display() {
cout << "Value: " << value << endl;
}
};
int main() {
Example obj;
obj.setValue(10).increment().display(); // 链式调用
return 0;
}
输出:
Value: 11