C++类大小怎样计算?
toniy 2002-11-30 03:42:22 本人在不久前的面试中,遇到求C++类大小的笔试题,该类有几个成员变量和函数.我将成员变量的字节数的总和加1作为类的大小,结果当然错误,工作当然也没得到.
面试失败后,我上机测试了几个类的大小(如下所示),没有找出其中的规律.虽然C++类的大小是多少对编程并没影响(本人是这样认为的),但既然遇到了这个问题,就应该把它搞懂,是不是?所以向各位高手请教,拜托!
class A
{
public:
int i;
};
class B
{
public:
char ch;
};
class C
{
public:
int i;
short j;
};
class D
{
public:
int i;
short j;
char ch;
};
class E
{
public:
int i;
int ii;
short j;
char ch;
char chr;
};
class F
{
public:
int i;
int ii;
int iii;
short j;
char ch;
char chr
};
个类大小如下:
sizeof(A)=4;sizeof(B)=1;sizeof(c)=8;sizeof(d)=8;
sizeof(E)=12;sizeof(F)=20;
请问C++类的大小是怎样计算的?其成员函数的大小又怎样计算?