RT.
首先,
struct sss{
double a;
char b;
char c;
};
此时,sizeof(sss)为16;
然后,
struct ss{
double a;
char b;
};
struct sss{
ss s;
char c;
};
此时,sizeof(sss)为24,因为ss这个结构“整体”的对齐要求是8,而且“整体”占用16bytes;
最后,看看类派生的情况,
struct ss{
double a;
char b;
};
struct sss : public ss{
char c;
};
此时,sizeof(sss)为24,与内嵌struct的情况相同,而不要将这种派生类的内存布局想象成“基类成员直
接[注入]派生类当中”。