全局变量好奇心

时间:2011-10-09 20:22:39

标签: c++ global-variables

假设我有一堆将使用int = price的函数;例如。我可以将它设置在int main和所有函数之外,以便它们都可以调用它吗?

例如,我在main之外调用了int price,但是会有更多的函数使用它。这样好吗?

int price;

int main()
{

cout << price;
return 0;
}

2 个答案:

答案 0 :(得分:2)

好的。推荐绝对不是。尽量避免全局变量。你也应该初始化你的变量。

答案 1 :(得分:1)

只要price变量在您想要使用的位置可见,就可以了。

如果你想在另一个“编译单元”(另一个.c文件)中使用这个变量,你必须放在新文件的开头:extern int price;,告诉编译器应该使用它在项目的其他地方声明的price变量。

请注意,强烈建议不要使用全局变量,因为无法控制谁修改变量以及何时修改变量,这可能会导致一些令人讨厌的副作用。