结构体内成员按照声明顺序存储,第一个成员地址和整个结构体地址相同。

未特殊说明时,按结构体中size最大的成员对齐(若有double成员,按8字节对齐。)

c++11以后引入两个关键字 alignas与 alignof。其中 alignof 可以计算出类型的对齐方式, alignas 可 以指定结构体的对齐方式。

如果想使用单字节对齐的方式,使用 alignas 是无效的。应该使用 #pragma pack(push,1) 或者 使用 __attribute__((packed)) 。