【发布时间】:2012-03-30 22:01:18
【问题描述】:
我知道不应该使用全局变量,但我需要它们。我读过在函数之外声明的任何变量都是全局变量。我已经这样做了,但是在另一个 *.cpp 文件中,找不到该变量。所以它并不是真正的全球性的。是不是必须创建一个头文件GlobalVariabels.h 并将该文件包含到使用它的任何其他*cpp 文件中?
【问题讨论】:
-
one should not use global variables不,不应该一概而论。I have a need for them为什么? -
@Lightness Races in Orbit:我需要它们,因为我想在两个不互相调用的函数之间交换数据。
-
@MarcusTik:好的。至少要确保使用命名空间。
-
"我已经这样做了,但是在另一个 *.cpp 文件中找不到该变量。所以它不是真正的全局变量。" - “全局”意味着它们在程序结束之前不会被销毁(与在块结束时被销毁的具有块范围的局部变量相反。)并且可以从其他翻译单元以某种方式访问。详情见:learncpp.com/cpp-tutorial/42-global-variables
-
@undefinedbehaviour:是的。在该示例中,您引入了一个完全不相关的声明点问题。
标签: c++ visual-studio