const对象的作用域?

const的变量你也可以extern他然后把值写进cpp里,然而你这样干他就不是一个常数了。
■网友
因为c\u0026amp;c++编译器在很多情况下会在编译的时候把常量直接优化成立即数。从而减少内存访问次数。比如:const int a = 123;...int b = a;会被优化成const int a = 123;...int b = 123;而要在编译期做到这点,就必须在编译期知道a到底是什么。
■网友
const修饰的不是默认具有文件作用域么,所以定义在cpp里面的一般其他人不访问 多处访问可以定义在头文件里啊
■网友
【const对象的作用域?】 因为const全局变量的链接性是内部的,只能由一个文件中的函数共享,就像是声明了static的链接性一样。所以每个使用这个const变量的文件定义的只是名称相同,但不同内存地址的变量。而普通全局变量的链接性是外部的,extern声明的变量的内存地址和定义那个变量的内存地址是相同的。


    推荐阅读