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