alignas specifier

来源:互联网 发布:帝国cms 今日头条 编辑:程序博客网 时间:2024/06/05 21:31
源:http://zh.cppreference.com/w/cpp/language/alignas

指定的种类或对象的对齐要求,.

语法

 alignas( expression) (C++11 起) alignas( type-id ) (C++11 起) 

解释

alignas说明变量或类的数据成员的声明,或者它可以被应用到一个类/结构/联合或枚举的定义.

alignas(expression)的形式,当使用expression是一个不可分割的常量表达式的计算结果为正值,声明的实体将有对齐要求设置的expression准确的结果,除非它会削弱类型的自然对齐要求的。

当使用的形式alignas(type),是完全等同于alignas(alignof(type)),也就是声明的实体的对齐要求,将是平等的对齐要求,type

注释

alignas(0)有没有效果.

当多个alignas说明适用于相同的变量或类的,最严格的人用了

C语言定义alignas作为一个宏在头<stdalign.h>,但在C + +中,这是一个关键字,并在头<stdalign.h><cstdalign>没有定义这样的宏。不必说什么,否则情况更糟,不过,他们定义宏不变__alignas_is_defined.

关键字

alignas

为例

// every object of type sse_t will be aligned to 16-byte boundarystruct alignas(16) sse_t{  float sse_data[4];}; // the array "cacheline" will be aligned to 128-byte boundarychar alignas(128) cacheline[128];




0 0
原创粉丝点击