注意几点:
1.类中的static变量或函数不占类的空间;
2.如果有虚函数(不管有多少个),有且只包含一个指向虚函数表的指针,占4个字节;
3.非虚函数不占空间;
4.一个空类的大小为1;
现举几个例子:
1. class A
{
static int i;
int j;
};
sizeof(A)=4;
2. class A
{
static int i;
int j;
virtual fun();
};
sizeof(A)=8;
3.class A
{
static int i;
int j;
virtual fun();
virtual fun2();
void fun3();
};
sizeof(A)=8;
4.classA
{
}
sizeof(A)=1;
5.class A
{
static int i;
int j;
virtual fun();
};
class B:public A
{
virtual fun();
virtual fun2();
void fun3();
};
sizeof(B)=8;