您的位置:首页 > 其它

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

2015-05-17 17:25 162 查看
对结构以及类进行进一步深化理解

对于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来代替空结构体或者类的大小)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: