1、布局
在为成员分配内存空间时,分配的顺序与声明结构的顺序一致,如下结构:
struct ceshi
{
char frist;
int second;
char three;
};
在内存中的的布局是这样(类型尺寸):
成员按照从大到小的顺序可以减少空间的浪费:
这时候在内存中的布局是这样的:
2、如果不添加构造函数,用初始化列表方式初始化{},那将按照默认顺序初始化成员:
struct ceshi
{
int frist;
int second;
};
#define debug qDebug()<<
int main(int argc, char *argv[])
{
ceshi c1{2,4};// frist = 2 second = 4
ceshi c2{6};// frist = 2 second执行默认初始化 = 0
}