当前位置:  开发笔记 > 编程语言 > 正文

C++中的全局变量VS文件变量

如何解决《C++中的全局变量VS文件变量》经验,为你挑选了2个好方法。

C++中全局变量和文件变量之间有什么区别?

谢谢!



1> 小智..:

在C和C++中,您可以通过在声明前面使用static关键字来创建一个全局变量,只能从声明它的文件中访问它.可以从编译到程序中的任何C或C++文件访问不使用static关键字的Globals.

在C++中不推荐使用静态全局方法,而是使用匿名命名空间.放置在匿名命名空间内的任何声明也只能从该文件中访问.



2> UncleZeiv..:

C++程序一次编译一个翻译单元(基本上这意味着每个.cpp文件是独立编译的).

默认情况下,变量都没有const,功能不inlinetypedef■找内部链接:这意味着他们不给其他翻译单元可见.如果其他翻译单元引用具有内部链接的符号(在声明它之后,需要extern变量的关键字),链接器将无法找到它们.

要明确要求内部链接,请使用关键字,static或者更好地使用未命名的命名空间.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有