查询类型的对齐要求。
语法
alignof( 类型标识 ) | ||
返回 std::size_t 类型的值。
解释
返回由类型标识所指示的类型的任何实例所要求的对齐字节数,该类型可以为完整类型、数组类型或者引用类型。
若类型为引用类型,则运算符返回被引用类型的对齐;若类型为数组类型,则返回元素类型的对齐要求。
关键词
注解
有关 alignof
的返回值的含义和性质,参见对齐。
示例
运行此代码
- #include <iostream>
- struct Foo {
- int i;
- float f;
- char c;
- };
- struct Empty {};
- struct alignas(64) Empty64 {};
- int main()
- {
- std::cout << "Alignment of" "\n"
- "- char : " << alignof(char) << "\n"
- "- pointer : " << alignof(int*) << "\n"
- "- class Foo : " << alignof(Foo) << "\n"
- "- empty class : " << alignof(Empty) << "\n"
- "- alignas(64) Empty: " << alignof(Empty64) << "\n";
- }
可能的输出:
- Alignment of
- - char : 1
- - pointer : 8
- - class Foo : 4
- - empty class : 1
- - alignas(64) Empty: 64
当前内容版权归 cppreference 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 cppreference .