C++再谈const

再谈const:
在C++中,const限定符对默认存储类型稍有影响,在默认情况下全局变量的链接性为外部的,但const全局变量的链接性为内部的。也就是说,在C++看来,全局const定义就像使用了static说明符一样:

const int fingers = 10;
int main()
{
    
    
}

在C++中将一组常量放在头文件中,并在同一个程序的多个文件中使用该头文件,那么预处理器将头文件的内容包含到每个原文件中后,所有的源文件都将包含类似下面这样的定义:

const int fingers = 10;
const char* warning = "wak";

如果全局变量const向常规变量那样是外部的,则根据单定义规则,这将出错。也就说只有头文件可以包含前面的声明,而其他文件必须使用extern关键字来提供引用声明,另外只有没有使用extern关键字的声明才能对其进行初始化。

Guess you like

Origin blog.csdn.net/weixin_42105843/article/details/118501541