C++中this指针解读:

C++中的this指针是一个隐式使用的特殊指针,它指向调用成员函数的对象。在成员函数内部,*this表示被调用成员函数所在的对象,可用于访问对象的数据成员。例如,在计算体积的volume函数中,*(this->height)等价于(a.height),通过this指针确定操作的对象。注意,使用*this时,其两侧的括号不能省略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

this指针:

在每个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this;
它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址;

例如:当调用成员函数a.volume时,编译系统就把对象a的起始地址赋给this指针,于是成员函数引用成员数据时,就要按照this的指向找到对象a的数据成员;

例如:volume函数要计算heightwidthlength的值;
实际上是执行(this->height)(this->width)(this->length);
由于当前this指向a,因此相当于执行:(a.height)(a.width)(a.length);
这就计算出长方体a的体积;
上面三种代码都是等价的

  • b.volume( ) ,编译系统就把对象b的起始地址赋给成员函数volume的this指针,显然计算出来的是长方体b的体积;

this是隐式使用的:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

*this则表示被调用的成员函数所在的对象;

  • *this就是this所指向的对象,即当前的对象;
  • 例如:成员函数a.volume( )函数体中,如果出现*this,它就是本对象a;
    在这里插入图片描述

注意:* this两侧的括号不能省略,不能写成*this.height;

所谓“调用对象a 的成员函数 f ”,实际上是在调用成员函数 f 时使用this指针指向对象a,从而访问对象a的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值