我可以将 extern 和 const 混合为 extern const 吗?如果是,const 限定符是否只在它声明的范围内强加它的统治,还是应该完全匹配它声明的翻译单元的声明? IE。我可以声明说 extern const int i;
即使实际 i 不是 const,反之亦然?
最佳答案
- 是的,您可以一起使用它们。
- 是的,它应该与实际声明它的翻译单元中的声明完全匹配。当然,除非你参与了Underhanded C Programming Contest。 :-)
通常的模式是:
- file.h:
extern const int a_global_var;
- file.c:
#include "file.h"
const int a_global_var =/* 一些 const 表达式 */;
编辑:合并了 legends2k 的评论。谢谢。
关于c++ - 混合外部和常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2190919/