const与extern都属于属性一类。
两者加一起用需要注意的一点是,在多文件编译中,加入我们共用一个全局常量。一般的定义会是这样:
A.cpp文件
const int gg_int = 100;
B.cpp文件
extern const int gg_int; // 声明一下引用别的文件的全局常量。
已上这种情况在一般情况下是正确的,可是区别在于我们共用的是全局常量,(有const修饰)
所以 在声明与定义时都要加上extern关键字。
正确的:
A.cpp文件
extern const int gg_int = 100;
B.cpp文件
extern const int gg_int;