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

相关推荐
疯狂成瘾者8 分钟前
Java 常见集合方法
java·windows·python
web守墓人10 分钟前
【python】uv解决依赖安装缓慢的问题
开发语言·python·uv
七牛开发者18 分钟前
RAG 工程里的上下文剪枝:如何减少 68% 的上下文
前端·css·github
cpp_25011 小时前
P10098 [ROIR 2023] 地铁建设 (Day 2)
数据结构·c++·算法·贪心·二分答案·洛谷题解
倒流时光三十年1 小时前
MyBatis @MapKey 注解详解
windows·mybatis
生活、追梦者1 小时前
【Windows】 CMD 黑窗口命令大全
windows·命令行·cmd·运维技巧
sycmancia1 小时前
Qt——多线程中的信号与槽(二)
jvm·qt
geovindu1 小时前
CSharp: Bridge Pattern
开发语言·后端·桥接模式·结构型模式
hehelm2 小时前
IO 多路复用 — Reactor
linux·服务器·网络·数据库·c++
এ慕ོ冬℘゜2 小时前
深入 JavaScript BOM:掌握 window 对象的窗口控制魔法
开发语言·javascript·ecmascript