我正在开发一个带有几个命令行参数的项目,并将这些参数用作后续模拟的参数。 (我希望批量运行大量实验)。
在运行时设置全局变量的最佳方法是什么?全局方面:变量可能在运行期间发生变化,但应该可以在大量类中访问。
目前我将它们读入Config对象,我将其包含在其他类中。如果有人有更好的想法(xml?)我都是耳朵。
谢谢!
答案 0 :(得分:8)
将所有相关的变量置于一个屋檐下,以便于访问。有两种方法可以:
namespace Configuration {
extern int i;
extern bool b;
extern std::string s;
}
class Configuration { // provide proper access specifier
static int i;
static bool b;
static std::string s;
}
要很好地跟踪它们,请使用getter() - setter()方法作为namespace / class中的包装 如果程序需要,你可以使用getter-setter以线程安全的方式处理它们。