假设我有一个名为的结构体Particle
,我想让它按 32 位对齐,alignas
我在指定结构体定义时是否应该使用关键字,如下面的代码:
struct alignas(32) Particle {
// Total size: 16 bytes, but alignas(32) ensures 32-byte alignment
float x; // 4 bytes
float y; // 4 bytes
float z; // 4 bytes
float w; // 4 bytes
};
或者我应该在结构所在的布局定义中指定它,如下所示:
alignas(32) Particle particles[8]; // Array of 8 particles, 32-byte aligned
或者我应该两者都做?