C和C++ const的声明差异

时间:2021-10-06 00:02:43

当在C源代码文件中将变量声明为const时,可以通过以下方式实现:

?
1
const int i = 2;

然后,可以在另一个模块中使用此变量,如下表示:

?
1
extern const int i;

但若要获取与 C++ 中相同的行为,则必须将 const 变量声明为:

?
1
extern const int i = 2;

如果希望在 C++ 源代码文件声明用于 C 源代码文件的 extern 变量,请使用:

?
1
extern "C" const int x = 10;

以防止 C++ 编译器进行名称重整。