C++ memory alignment
#include <fmt/core.h>
int main() {
struct S {
uint8_t : 8;
uint32_t x;
} __attribute__((packed));
fmt::print("alignof {} sizeof {}n", alignof(S::x), sizeof(S::x));
fmt::print("alignof {} sizeof {}n", alignof(S), sizeof(S));
}
https://godbolt.org/z/oPK4s15xv
Returns:
alignof 1 sizeof 4
alignof 1 sizeof 5