_Alignas 说明符
_Alignof 运算符
_Atomic 限定符
_Atomic 类型说明符
_Noreturn
_Static_assert
_Thread_local 存储说明符
允许 typedef 重新定义
匿名 struct/union
通用选择
Unicode 字符和字符串
允许更新的 UCN 字符集
__STDC_ANALYZABLE__ 宏
__STDC_NO_THREADS__ 宏
_Alignas ( type-name ) _Alignas ( constant-expression )
_Alignas 说明符不能用于声明已使用寄存器存储类说明符声明的 typedef、位字段、函数、参数或对象。
常量表达式应计算为整型常量表达式。常量表达式必须计算为介于 1 和 128 之间且是 2 的幂的整型常量表达式。有效值包括 0、1、2、4、8、16、32、64 和 128。与要声明的对象或成员类型所需的对齐相比,该值必须计算为相同或更严格的对齐。
_Alignas (type-name) 与 _Alignas (_Alignof (type-name)) 等效。
值为 0 的对齐说明符不起作用。
有效的对齐是使用最严格的对齐说明符的对齐。
对于已使用对齐说明符声明的对象,在每次进行其他声明时都必须指定相同的对齐说明符或不指定任何对齐说明符。在声明相同对象的每个源文件中都必须指定该对象的对齐,否则不会定义行为。
_Alignof ( type-name )
_Alignof 运算符会计算为一个整型常量,表示其操作数类型的对齐要求。不会计算操作数。_Alignof 运算符不能用于函数或不完全类型。
功能:6.7.2.4 原子类型说明符
功能:6.7.3 _Atomic 限定符
功能:6.5.2.4 原子运算符
功能:6.5.3.1 原子运算符
功能:6.5.16.2 原子运算符
功能:7.17 原子
原子可能需要与原子运行时支持库链接在一起,请参见-xatomic=a。
放置 _Noreturn 说明符来声明从不返回的函数,例如:
_Noreturn void leave () {
abort();
}
_Static_assert ( constant-expression , string-literal ) ;
根据 ISO/IEC 9899:2011 的附件 D,更新 UCN 中允许的字符集。 有关被允许字符的完整列表,请参阅 ISO/IEC 9899:2011 附件 D。