当前位置: 首页 > 应用教程 > c多文件编程,在A.cpp中定义了个全局变量,就只在A.cpp里用,可以不加extern吗?

c多文件编程,在A.cpp中定义了个全局变量,就只在A.cpp里用,可以不加extern吗?

来源:网络 作者:趣玩小编 发布时间:2024-02-13 09:11:46

在C++多文件编程中,全局变量是在整个程序中都能够访问的变量。在A.cpp文件中定义了一个全局变量,那么其他文件是否可以直接使用这个全局变量呢?这就涉及到了extern关键字的使用。

在C++中,如果想在一个文件中使用另一个文件中定义的全局变量,需要使用extern关键字进行声明。这告诉编译器该变量是在别处定义的,而不是在当前文件中定义的。

然而,如果一个全局变量只在A.cpp文件中使用,其它文件根本不需要访问它,那么是否可以不加extern直接在A.cpp中定义该全局变量呢?

答案是可以的。因为全局变量的作用域是整个程序,但是其可见性只限于当前文件。也就是说,A.cpp文件中定义的全局变量只能在A.cpp中访问,其它文件根本无法访问到这个全局变量。因此,不加extern也不会影响其它文件的编译和链接。

当然,为了代码的清晰和规范,建议在A.cpp中定义的全局变量前加上static关键字,这样可以确保该全局变量只在当前文件中可见,不会被其它文件访问到。这符合了信息隐藏的原则,也更容易维护代码。

总之,在C++多文件编程中,如果一个全局变量只在一个文件中使用,可以不加extern直接在该文件中定义全局变量。但为了代码清晰和规范,建议在定义全局变量时加上static关键字,以确保其它文件无法访问到该全局变量。

相关攻略
热门推荐 更多 +
休闲益智 | 945.71MB
我的世界是一款风靡全球的3D第一人称沙盒...
9.6
角色扮演 | 878.96MB
最新版《汉家江湖》是一款以武侠为题材、以...
9.5
飞行射击 | 262.79MB
《荒野乱斗》是快节奏射击类多人对战游戏。...
9.5
飞行射击 | 102.9M
掌上飞车手游app是由腾讯特别为QQ飞车...
9.2
休闲益智 | 263.56MB
开心消消乐是一款轻松休闲的手游,也是一款...
9.6