相关疑难解决方法(0)

对于所有对象类型T,sizeof(T)> = alignof(T)总是这样吗?

对于任何对象类型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.

c++ memory-alignment c++11 alignof

42
推荐指数
4
解决办法
2259
查看次数

标签 统计

alignof ×1

c++ ×1

c++11 ×1

memory-alignment ×1