c++ this 指针的用途

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 条规则

  1. 只有类的 非静态成员函数才有 this
  2. 静态函数没有 this

相关推荐
多弗朗皮卡丘7 分钟前
C语言梦开始的地方16:结构体
c语言·开发语言·windows
polarislove02149 分钟前
Windows安全中心网络盘打开文件提示“打开这些文件可能会对你的计算机有害”的解决方法
网络·windows·安全
2401_8628808218 分钟前
Linux应用层开发 --- 多任务
linux·服务器·c语言
tudousisi22223 分钟前
8.25第二题训练
c++
星星.72228 分钟前
2026河南萌新联赛第六场(郑州大学)补题B、D、L、J、I
数据结构·c++·算法
x8629 分钟前
Go 1.27 正式发布:泛型方法、encoding/json/v2、后量子签名 ML-DSA 与 SIMD
开发语言·golang
深念Y30 分钟前
Fork 仓库瘦身指南:从 90MB 到 11MB
git·github·仓库·历史·瘦身·fork·上游
智恒百亿31 分钟前
AI服务器涨价15%背后:5090八卡智算服务器的选型与成本分析
大数据·服务器·人工智能·github
鲨鱼辣钊33 分钟前
Github Copilot 研发效能提升实战指南
log4j·github·copilot
杨丰玮41844 分钟前
暑假Java知识点回顾:类与对象知识总结
java·开发语言