对结构以及类进行进一步深化理解
对于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来代替空结构体或者类的大小)