2013-10-13 46 views
0

正如标题所示, 我必须从XML文件中读取一些值,并将这些值用于不同文件中的不同类中。如何定义一些配置变量

我应该用哪种方式来定义这些变量?

我应该使用一个类来保存这些变量, 我应该使用一个命名空间来容纳这些变量, 我应该将它们定义为静态全局变量(如果可能的话)

在java中我只想确定他们作为公共静态变量,并使用class.XX来访问它们,但在c + +这不工作,我认为。

+1

这是一个非常基于意见的问题! – deepmax

+0

我会创建一个包装类,从XML文件中读取配置参数。 这个包装类可以有静态方法来读取每个参数值。 – Rami

+0

@RamiHelmy谢谢你的回答。听起来像使用包装类的好主意。 – kerberos84

回答

0

我只能说,使用静态全局变量,使用的extern全局变量。

如果您使用静态和从文件加载配置并将它们设置为这些静态变量,那么新配置仅适用于位于静态旁边的同一翻译单元中的函数。

+1

您可以在.cpp文件中的静态变量以及访问器函数(在.cpp文件中并在.h文件中声明)中的其他文件中的代码用于读取其状态。 (这样做的好处是可以防止其他代码更改变量的值,并且如果需要的话可以将逻辑添加到访问器函数中)。 –

+0

@JeremyFriesner:好吧,我定位了在头文件中声明的_global_ statics。 – deepmax

+1

如果在.h文件中声明一个静态变量(例如“static int foo;”),则会为每个包含.h文件的.cpp文件创建该变量的单独实例。这通常不是你想要的。 –