Digamos que eu tenha uma estrutura chamada Particle
e gostaria que ela fosse alinhada em 32 bits. Devo usar a alignas
palavra-chave quando especificar a definição da estrutura, como no código abaixo:
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
};
ou devo especificá-lo na definição dos layouts onde as estruturas residem, assim:
alignas(32) Particle particles[8]; // Array of 8 particles, 32-byte aligned
ou devo fazer as duas coisas?