Q
常量对参数
13
A
回答
13
int d(const int darg[5])
手段darg
是指向const
int
。
int e(int earg[const 5])
手段earg
是const
指针int
。这是一个c99功能。 T A[qualifier-list e]
与参数声明中的T * qualifier-list A
等效。
(从上面),当然还有:
int f(const int farg[const 5])
手段farg
是const
指针const
int
。
1
数组大小的附加常量是什么?
C11:6.7.6.3:
一个参数的声明为 ''类型的阵列 '',应调整至'' 合格指针类型 '',其中类型限定符(如果有的话)是数组类型推导的
[
和]
中指定的那些。
这意味着
int f(const int farg[const 5])
将调整为
int f(const int *const farg)
而且有什么区别时,我省略了常量呢?
省略后,它相当于
int f(const int frag[5]) //or int f(const int frag[])
它最终相当于
int f(const int *farg)
相关问题
- 1. 模板函数和常量/非常量参考参数
- 2. 函数参数模板参数对于常量参考类型不明确
- 3. 常量参数设计
- 4. 常量表达式参数
- 5. 常量参数问题
- 6. 常量对象不能作为变量参数传递
- 7. 修改常量参数参考
- 8. C++ - 常量参数和类变量pessimization?
- 9. 使用参考修改常量对象
- 10. 函数引用参数(实际上,对象常量)
- 11. 可变参数函数和常量
- 12. CPP常量函数参数说明
- 13. C++数组参数和常量值
- 14. 参数异常的无效数量
- 15. C++模板函数与常量参数
- 16. 模板函数参数为“常量T”
- 17. 使用常量参数重载函数
- 18. 函数原型的常量参数
- 19. 函数参数分组和常量
- 20. 参数化对象向量
- 21. PHP常量参考
- 22. 参数类型的“常量[structname] *”是与类型“常量[structname] *”
- 23. 对API的功能参数常量,正确性改变
- 24. C#“常量对象”用作默认参数
- 25. C++一个类的常量参数
- 26. 作为方法参数的常量PHP
- 27. std :: const中的常量参数:: remove_if
- 28. 是相同的常量引用参数
- 29. 常量在泛型类型参数
- 30. 将参数复制为常量值?
[可能与](http://stackoverflow.com/q/17559631/596781) –
第二个'const'给我4个编译器错误 – mch
@mch确认你的编译器支持C99或C11。 (例如-std = c11)。叮当3.4与-std = c11吃这个没有问题。 – WhozCraig