关于this指针

本文详细解释了C++中this指针的概念及其用途。this指针是编译器为每个非静态成员函数隐式传递的一个参数,它指向当前正在调用该函数的对象。文章还探讨了静态成员与非静态成员的区别,以及this指针如何帮助确定调用函数的具体对象。

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

  关于C++对象中的隐式定义的this指针,有这样一句说明:

  注:以下对象针对类和结构体;

  this指针指的是:一个对象的this指针并不是对象本身的一部分,但并不会影响sizeof(对象)的结果,this的作用域是在类内部,当在类的非静态成员函数访问类中的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。

  首先,在这一段话中特意强调了静态这两个字,我们需要知道的是:

  对于类中的静态函数而言,并不需要创建对象就可以直接访问了!!!

  类中的静态对象(包括静态数据成员和成员函数)都是表示属于整个类的唯一的,而并不属于此类中的任意特定对象和函数,这是与普通对象最大的区别,也是其应用所在。比如在对类的对象进行计数的时,计数生成多少类的实例就可以用到静态数据成员,在这里面,static既不是限定作用域的,也不是扩展该对象生存期的作用,而是标志此对象/函数在此类中的唯一性,也就是说,对于一种对象,无论被实例化了多少次,对应的静态成员都是这一个,静态成员并不会随着类的实例化而在各个具体实例中被多次实例化!因此是不可能属于某一个实例化对象的。

  我们在类中定义一个方法,并没有针对于某一个已经被实例化的类,但是在使用这个方法的时候却在有的时候需要知道使用这个函数的被实例化的类,这时候就需要用到this指针。

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值