假设我在类 aligned_
中有一个成员变量 A
,它应该是 64 字节对齐的
class A {
int val1_;
int val2_;
....
__m256i aligned_;
};
我都可以
class alignas(64) A {
__m256i aligned_;
int val1_;
...
或
alignas(64) __m256i aligned_;
我正在纠结哪个更好。到目前为止,我有以下结论:
使用类级别对齐可以节省空间,因为所有变量都彼此相邻,但我必须将对齐的变量作为第一个成员,这扰乱了我将相关成员变量放在一起的编码习惯。
使用变量级别对齐解决了1中提到的问题,但在要对齐的变量之前需要额外的空间。这使得 A 类占用的空间超出了需要
我想听听您对这个话题的建议。谢谢!