回答
原子类型说明符: - :)
Syntax: _Atomic (type-name);
可以声明这样的原子整数:
_Atomic(int) counter;
的_Atomic
关键字可以在形式_Atomic(T)
,其中T是被用来一个类型,作为类型说明符相当于_Atomic
T.因此,_Atomic(T) x, y;
声明x和y具有相同的类型,即使T是一个指针类型。这允许将C++ 0x与C++ _Atomic(T)
宏定义的微小C++兼容性视为原子。
如果实现不支持原子类型,则不应使用原子类型说明符。 原子类型说明符中的类型名称不应引用数组类型,函数类型,原子类型或限定类型。
与原子类型相关的属性仅对左值表达式有意义。
If the _Atomic keyword is immediately followed by a left parenthesis, it is interpreted as a type specifier (with a type name), not as a type qualifier.
原子类型限定: - :)
_Atomic volatile int *p;
比指针类型,它们的引用类型是对象类型,不得限制资格的其他
It specifies that p has the type ‘‘pointer to volatile atomic int’’, a pointer to a volatile-qualified atomic type.
类型。 由_Atomic
限定符修改的类型不应是数组类型或函数类型。 与限定类型关联的属性仅对左值表达式有意义。
如果相同限定符在同一个限定符列表中直接或通过一个或多个typedef出现多次,则行为与仅出现一次的行为相同。如果其他限定符与限定符 - 限定符列表中的_Atomic
限定符一起出现,则生成的类型是合格的原子类型。
单独使用关键字_Atomic
作为类型限定符。只要进行适当的转换,包括通过转换操作符,允许实现放宽具有相同的非原子类型的表示和对齐的要求。
- 1. 没有类型说明符的类型限定符
- 2. Common Lisp类型说明符
- 3. 类型说明符错误
- 4. 多类型说明符
- 5. printf的类型说明符
- 6. 泛型类型和泛型类型定义有什么区别?
- 7. “类型名称需要说明符或限定词”错误
- 8. VC++ - 该声明没有存储类或类型说明符
- 9. const是否需要类型说明符?
- 10. 任意类型说明符的Defmethod?
- 11. cuda“预计类型说明符”
- 12. printf 64位类型说明符问题
- 13. 通配符类型与有界类型之间的区别
- 14. Fileinfo:MIME类型和说明
- 15. 什么是Xcode 4.6.2中的“类型名称需要说明符或限定符”?
- 16. “类型名称需要说明符或限定符”是什么意思?
- 17. 类型定义和类型引用有什么区别?
- 18. Swift中类型和明确展开类型之间的区别
- 19. 有界通配符和类型参数有什么区别?
- 20. 访问说明符和访问修饰符有什么区别?
- 21. 类型说明符missng并假定INT C++
- 22. C4430缺少类型说明符 - int假定
- 23. 警告“C++要求所有申报类型说明符”地图
- 24. ASN.1枚举类型和选择类型有什么区别?
- 25. 潜类型和Manifest类型有什么区别?
- 26. 类型转换和类型转换是否有区别?
- 27. 常量类型限定符函数名
- 28. 相同的常量类型限定符
- 29. 在Java中使用无界通配符和泛型类型有什么区别?
- 30. C++中类型和类的区别?
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1485.pdf确实比最终的C11标准包含更多信息。 – nos 2014-10-22 12:48:27
http://stackoverflow.com/questions/10668941/c11-grammar-ambiguity-between-atomic-type-specifier-and-qualifier – CinCout 2014-10-24 07:37:09