class A5
{
public:
double d;
float a;
int b;
char c;
A5();
~A5();
};
问题1:sizeof(A5)是多少?
在VC2008上测试是24。但一个double 是8,float 与int 都是4,char 是1,按照字节对齐,应该是8+4+4+4 = 20吧,为什么是24?
如果把char去掉
class A5
{
public:
double d;
float a;
int b;
//char c;把这个去掉
A5();
~A5();
};
那么sizeof(A5)是16,这个好理解,是8 + 4+4 = 16。
到底问题1加了个char是怎样字节对齐的?