【发布时间】:2014-02-16 21:06:52
【问题描述】:
我最近开始学习 C++,目前正在阅读很多关于它的资料。
不断重复的一件事是使用extern 拥有一些全局变量是一种不好的做法,我应该避免它。
问题是在某些情况下我看不到全局变量的替代方案,例如当我在一个文件中有“产品目录”(包含名称、描述、价格等)并且需要在任何其他文件中显示目录中的单个变量的值时。
我注意到有些人避免使用extern 的一种方法是使用const 来拥有常量变量。
我的问题是,这不只是将 extern 换成另一个(至少在这种情况下)工作方式几乎相同的关键字,而且这突然不是一个坏习惯吗?
【问题讨论】:
-
也许你应该在你的应用程序中使用单例。
-
const 和 extern 是非常不同的东西 - const 表示某些东西不会改变,而 extern 表示实际变量将在其他地方找到 - 我的意思是不在 extern 语句所在的文件中.
-
@TimBergel 我明白了。所以
extern可以从另一个文件中更改,而const不能,对吗?
标签: c++ variables constants extern