在C ++中避免全局变量的好样式

时间:2013-08-21 15:30:06

标签: c++ variables design-patterns global local

在很多不同的项目中,我在使用全局变量时迟早会遇到一些错误/警告/问题。是否有一种好的程序设计可以在我的项目中使用全局变量或完全避免它

我阅读了很多关于这个问题的文章,并且都在说明:用局部变量,上下文对象,不同模式(单例)等替换全局变量,但是没有明确的示例和描述如何正确使用它。

你对这个主题有一些好的提示或参考吗?

2 个答案:

答案 0 :(得分:2)

单身人士在他们引起的问题上与全局变量非常相似。请尝试查看“从上面参数化”模式。

答案 1 :(得分:0)

摆脱全局变量是一项任务。显然可能有一些严格必要的,那些很可能会在你的main或头文件中声明。 全局变量的一个很好的例子是用于从配置文件中解析选项的“结构”:在执行开始时加载一次,然后您可以从其他地方继续访问它。或者,您也可以使用带有set / get方法的对象来检索相同的配置选项(但仍然会将对象声明为全局)。

另外不要低估宏的力量。无论你决定做什么,永远不要忘记基本原则:干,不要重复Yoursef。保持简单,只保存在一个地方。