命名空间中为什么定义const int a=5,的时候加上static,加不加satic不都是内部连接吗

C++语言 码拜 10年前 (2015-05-11) 967次浏览 0个评论
 

嗯,初学者,不太清楚这个,为什么命名空间中定义const int a=5,时要加static,定义成static const int a =5,加不加static不都是内部连接吗,为什么要加static呢

坐等高手啊
不加static的话,编译器还是会导出此符号,你在其它文件中可以通过extern来引用a,而加了static就只能在本地文件中使用了,这样封装性比较好。
const int a=5;定义的常量是不能够用extern在其他文件中扩展其作用域的,我试过,而且c++编程思想中也是这么说的
static 在c的两个用途: 1) 修饰变量为全局生命期   2) 修饰(内联)内部使用
20分
只是明确地指出来,方便阅读.两个定义是等价的.
同意楼上的说法。
只是明确地指出来,方便阅读.两个定义是等价的.

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明命名空间中为什么定义const int a=5,的时候加上static,加不加satic不都是内部连接吗
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!