cppreference有一个引用:
每个对象类型都有称为对齐要求的属性,它是一个整数值(类型为std :: size_t,总是2的幂),表示可以分配此类对象的连续地址之间的字节数.
据我所知,这个参考文献是非规范性的.但是alignof(T)标准中没有关于价值的东西,而不是它alignof(std::max_align_t).
alignof(T)
alignof(std::max_align_t)
显然,对齐是2的幂.为什么对齐不是3?
c++ memory-alignment
c++ ×1
memory-alignment ×1