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

相关推荐
格林威3 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
星蓝_starblue3 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
夏天的峰没有风3 小时前
Typora加github加PicGo搭建图床使用教程
github·claude code
初级代码游戏4 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
Liekkas Kono4 小时前
Github Star History 趋势图工具推荐
github·swhl
蒙奇·D·路飞-4 小时前
OpenClaw:开源的《合金弹头》精神续作与终极本地部署指南
c++·开源·mfc
逛逛GitHub5 小时前
盘点 2 个看起来贼炫酷酷酷的 GitHub 项目,炒的还挺火的。
github
卡卡罗特AI5 小时前
GitHub怎么用?零基础,保姆级使用教程-上!建议收藏
前端·后端·github
峥嵘life5 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言
小星星闪亮登场6 小时前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先