align算是老生常谈了: 数据按照某个cache line大小align的话会改进cache效率, 因此默认情况下,编译器会自动把class数据进行align; class与其member的align尤其自己规则,直接导致: struct size...{uint32 member0;uint8 member1;};(sizeof(size)!=sizeof(uint32)+sizeof(uint8)) is usually true;struct compose_good...{ uint8 mem0; uint16 mem1; uint32 mem2;};struct compose_bad...{ uint8 mem0; uint32 mem1; uint16 mem2;};(sizeof(compose_good)<sizeof(compose_bad)) is usually true;