【发布时间】:2019-07-15 20:01:01
【问题描述】:
阅读 C11 标准的 N1570 草案,它在第 p. 121关于_Atomic关键字:
如果 _Atomic 关键字后面紧跟一个左括号, 它被解释为类型说明符(带有类型名称),而不是 类型限定符。
现在我想知道,在这种情况下,什么构成“立即”?
我觉得措辞很模棱两可: 标准是否保证以下两行代码始终相同?
明确:
static _Atomic(type) var;
模棱两可:
static _Atomic (type) var;
插入空格是否会破坏左括号的直接性?
虽然在第一种情况下,关键字始终是类型说明符,但在第二种情况下,我不确定它是类型说明符还是类型限定符,以及这是解释问题还是标准严格定义的问题。我还指的是 'var' 是指针的情况。
【问题讨论】:
-
我没有参考标准来支持这一点,但我认为“立即”意味着“下一个标记”,而不是下一个字符。
标签: c syntax grammar atomic c11