深度探究this指针以及空的结构体或者类

对结构以及类进行进一步深化理解


对于this指针,他并不是属于对象的一部分,


this在成员函数的开始执行前构造的,在成员函数this是通过函数参数的首参数来传递的。
(即在成员函数参数传递的地方有个默认的参数int getresult(const T * this, int x,int y)而且this指针的类型是随着类定义的不同而变化的)

this指针是在调用之前生成的。类实例后的函数,没有这个说法。类在实例化时,只分配类中的变量空间,并没有为函数分配空间。自从类的函数定义完成后,它就在那儿,不会跑的。的执行结束后清除。

只有在成员函数里才有this指针的位置

所以无法通过sizeof()得到this指针的大小


而且在C语言与C++语言中
对于
struct s
{
};
的大小有不同,
C语言是0
C++语言是1(认为任何一个结构体都应该有大小,所以用字节的最小值1来代替空结构体或者类的大小)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值