字节对齐
内存字节对齐机制,就是为了最大限度的减少内存读取次数。我们知道CPU读取速度
比内存读取速度快至少一个数量级,所以为了节省运算花费时间,只能以牺牲空间来
换取时间了。
pragma pack(n)
#pragma pack(n) 指定编译器的对齐参数数
用法:
#pragma pack(n)
#pragma pack()
另外:
#pragma pack(push) //保存当前对齐状态
#pragma pack(push,4) //保存当前对齐状态,并设定为4字节对齐
#pragma pack(pop) //恢复对齐状态
对齐规则:
每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数(中较小的一个对齐。结构的长度必须为所用过的所有对齐参数的整数倍
对于结构来说,它的对齐方式就是它的所有成员使用的对齐参数中最大的一个。
结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。