对准
该标准保证以下内容:
-
类型的对齐要求是其大小的除数。例如,一个大小为 16 字节的类可以具有 1,2,4,8 或 16 的对齐,但不能为 32.(如果类的成员大小总共只有 14 个字节,但该类需要具有对齐要求为 8,编译器将插入 2 个填充字节,使类的大小等于 16。)
-
有符号和无符号版本的整数类型具有相同的对齐要求。
-
指向
void
的指针与指向char
的指针具有相同的对齐要求。 -
类型的 cv 限定版和 cv 非限定版具有相同的对齐要求。
请注意,虽然在 C++ 03 中存在对齐,但直到 C++ 11 才能查询对齐(使用 alignof
)和控制对齐(使用 alignas
)。