对于任何对象类型T,它总是sizeof(T)至少与大小一样大alignof(T)吗?
直观地看起来如此,因为即使你调整对象的对齐方式,例如:
struct small {
char c;
};
Run Code Online (Sandbox Code Playgroud)
通常情况下,它们的"大小"也会向上调整,以便在保持对齐的同时,阵列中对象之间的关系是有意义的(至少在我的测试中.例如:
struct alignas(16) small16 {
char c;
};
Run Code Online (Sandbox Code Playgroud)
两者的大小和对齐都是16.