6.7.5 对齐说明符

语法

1、alignment-specifier:

_Alignas    (    type-name    )

_Alignas    (    constant-expression    )

约束

2、一个对齐属性不应该在一个typedef,或一个位于,或一个函数,或一个形参,或一个具有register存储类说明符的对象的声明中指定。

3、常量表达式应该是一个整数常量表达式。它应该对一个有效的基础对齐,或者对一个有效的扩展对齐,或是对零进行计算。该有效扩展对齐由该常量表达式所出现的上下文中,通过实现支持。

4、在一个声明中所有对齐属性的绑定效果不应该指定一个对齐,该对齐比起正在声明的对象或成员的类型所需的对齐要求,更不严格。

语义

5、第一种形式等价于 _Alignas (_Alignof ( type-name ))

6、所声明的对象或成员的对齐要求,取出作为指定的对齐。指定为零的对齐没有效果。[注:指定为零的对齐对同一声明中的其它对齐说明也没有任何影响。]当在一个声明中发生多个对齐说明符时,有效的对齐要求是最严格的对齐要求。

7、如果一个对象的定义具有一个对齐说明符,那么那个对象的任何其它声明应该要么指定等价的对齐,要么不具有对齐说明符。如果一个对象的定义不具有一个对齐说明符,那么那个对象的任何其它声明应该不具有对齐说明符。如果一个对象在不同翻译单元中的声明具有不同的对齐说明符,那么行为是未定义的。

ISO/IEC 9899:2011 条款6.7.5——对齐说明符的更多相关文章

  1. ISO/IEC 9899:2011 条款6.7.4——函数说明符

    6.7.4 函数说明符 语法 1.function-specifier: inline _Noreturn 约束 2.函数说明符应该只能被用在对一个函数标识符的声明中. 3.对一个含有外部连接函数的内 ...

  2. ISO/IEC 9899:2011 条款6.7.2——类型说明符

    6.7.2 类型说明符 语法 1.type-specifier: void char short int long float double signed unsigned _Bool _Comple ...

  3. ISO/IEC 9899:2011 条款3——术语、定义与符号

    3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...

  4. ISO/IEC 9899:2011 条款5——5.2.1 字符集

    5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...

  5. ISO/IEC 9899:2011 条款6.4.2——标识符

    6.4.2 标识符 6.4.2.1 通用 语法 1.identifier: identifier-nodigit identifier    identifier-nondigit identifie ...

  6. ISO/IEC 9899:2011 条款6.4.3——通用字符名

    6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...

  7. ISO/IEC 9899:2011 条款5——5.1.2 执行环境

    5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...

  8. ISO/IEC 9899:2011 条款4——标准顺从

    4. 标准顺从 1.在本国际标准中,“应该”被解释为对一个实现或一个程序的要求:相反地,“不该”被解释为禁用. 2.如果违反了出现在一个强制规定或运行时强制规定之外的“应该”或“不该”要求,那么该行为 ...

  9. ISO/IEC 9899:2011 条款6——语言

    6 语言 6.1 标记法 1.在本条款中所使用的语法标记法.语义类别(非终结符)用斜体字指示,而字面量单词以及字符集成员(终结符)用粗体字指示.跟在一个非终结符后面的冒号(:)引出其定义.在单独的行中 ...

随机推荐

  1. 使用BERT模型生成token级向量

    本文默认读者有一定的Transformer基础,如果没有,请先稍作学习Transormer以及BERT. 相信网上有很多方法可以生成BERT向量,最有代表性的一个就是bert as service,用 ...

  2. shellshock溢出攻击

    实验背景 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,需要亲手重现攻击来理解该漏洞,并回答一些问题. 什么 ...

  3. java 反射获取字段为List类型中的泛型类型

    在java编程时,经常会使用反射去处理对象,有时会需要知道List的泛型类型:示例操作如下 obj = pojo.newInstance(); // 首先得到pojo所定义的字段 Field[] fi ...

  4. Django REST framework认证权限和限制和频率

    认证.权限和限制 身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制.然后 权限 和 限制 组件决定是否拒绝这个请求. 简单来说就是: 认证确定了你是谁 权限确定你能不 ...

  5. web 字体 font-family

    body { font-family: -apple-system, //针对 Web 页面 BlinkMacSystemFont, //针对 Mac Chrome 页面 SFProDisplay, ...

  6. cf 1051F 树+图

    $des$给定一张 $n$ 个点 $m$ 条边的带权无向联通图,$q$ 次询问,每次询问 $u_i$ 到 $v_i$ 的最短路长度.$n,q <= 10^5, m - n <= 20$ $ ...

  7. Luogu P3810 【模板】三维偏序(陌上花开) CDQ分治 树状数组

    https://www.luogu.org/problemnew/show/P3810 复习板子,重要的题就真的要写三遍???之前写过一篇博客了,不过之前写的那个板子的sort用的规则真是沙雕 #in ...

  8. 【概率论】5-7:Gama分布(The Gamma Distributions Part II)

    title: [概率论]5-7:Gama分布(The Gamma Distributions Part II) categories: - Mathematic - Probability keywo ...

  9. Day15:大前端

    垂直水平居中 css: display: table-cell; text-align: center; vertical-align: middle; div: display: inline-bl ...

  10. golang-结构体的使用

    package main import ( "fmt" "unsafe" ) type Person struct { name string sex byte ...