C++ 参考手册

定义于头文件 <cstddef>
typedef /*implementation-defined*/ max_align_t;
(C++11 起)

std::max_align_t 是一个平凡的标准布局类型,其对齐要求至少与每个标量类型一样严格(一样大)。

注意

分配函数,如 std::malloc 所返回的指针,适于为任何对象对齐,这表示其对齐至少与 std::max_align_t 一样严格。

std::max_align_t 通常是最大标量类型的同意词,在大多数平台上是 long double ,而其对齐要求是 8 或 16 。

示例

#include <iostream>
#include <cstddef>
int main()
{
    std::cout << alignof(std::max_align_t) << '\n';
}

可能的输出:

16

参阅

alignof 运算符 查询类型的对齐要求 (C++11 起)
获取类型的对齐要求
(类模板)
(C++11)
检查类型是否为标量类型
(类模板)