球类占用内存大小的总结:
1)计算类大小就是计算类中的有多少个成员变量,其中静态成员变量是不占用类的大小;
2)在计算成员变量的时候编译器会根据对其原则进行处理;如:
class A
{
void Function();
int i;
char c;
};
sizeof(A) = 8(sizeof(i)+sizeof(c)+ 3)
3)如果有虚函数,类的大小+4个字节。(用来存放vptr);如:
class A
{
virtual void Function();
int i;
char c;
};
sizeof(A) = 12(sizeof(vPtr) + sizeof(i)+sizeof(c)+ 3)
4) 计算基类的子类大小时候需要将基类也计算上;
class B:public A
{
virtual void Function();
int i;
char c;
};