Pra*_*rav 21 c c++ language-agnostic const
示例代码段
const const const int x = 10;
int main()
{}
Run Code Online (Sandbox Code Playgroud)
用C语言编译而不是用C++编译.为什么用C编译?我认为这也会在C中失败.没关系.
C++标准的哪一部分禁止使用复制品const
,哪部分C标准允许这样做?
Pot*_*ter 23
C99§6.7.3/ 4:
如果相同的限定词出现在同一不止一次说明符限定符列表,直接或通过一个或一个以上的typedef S,行为是一样的,如果只出现过一次.
是的,这是有效的C99,您的发现是正确的.
ybu*_*ill 16
从最后的C++ 0x草案中,[dcl.type]:
作为一般规则,在声明的完整decl-specifier-seq或类型说明符-seq或trailing-type-specifier-seq中最多允许一个类型说明符.此规则的唯一例外情况如下:
- const可以与除自身之外的任何类型说明符组合使用.
- volatile可以与除自身之外的任何类型说明符组合使用.
- signed或unsigned可以与char,long,short或int结合使用.
- 短或长可与int结合使用.
- 长可以加倍.
- 长期可以结合使用.