C++ this 指针 超通俗讲解
我用最简单、最容易记住的方式给你讲清楚 this 指针到底是什么、用来干嘛。
一、this 是什么?
this 是 C++ 类里自带的一个隐藏指针 它指向 当前调用这个成员函数的对象自己。
你可以理解成:this = 我自己(当前对象)
二、this 指针 4 个核心用途(背会就够用)
1. 区分成员变量和局部变量 / 参数重名
最常用!!!
cpp
运行
class Person {
int age; // 成员变量
public:
void setAge(int age) { // 参数名和成员同名
this->age = age; // this->age = 成员变量
}
};
this->age 明确告诉编译器:我要改的是我自己的成员变量!
2. 返回对象本身,实现链式调用
cpp
运行
Person& setAge(int age) {
this->age = age;
return *this; // 返回自己
}
调用时可以:
cpp
运行
p.setAge(18).setName("zhangsan");
3. 在成员函数里获取当前对象的地址
cpp
运行
void showAddress() {
cout << "我的地址:" << this << endl;
}
4. 解决类中访问自身的问题(比如删除自己)
cpp
运行
void destroy() {
delete this;
}
三、最直白的一句话总结
this 就是指向当前对象自己的指针,让你在成员函数里明确访问 "我这个对象" 的成员。
四、最简单记忆口诀
- 谁调用函数,this 就指向谁
- 同名冲突用 this
- *返回自己用 this
五、你必须记住的 2 条规则
- 只有类的 非静态成员函数才有 this
- 静态函数没有 this