我正在开发一个项目,该项目采用多个命令行参数,并将这些参数用作后续模拟的参数。 (我想批量运行大量实验)。
在运行时设置全局变量的最佳方式是什么?全局方面:变量可能会在运行期间发生变化,但应该可以跨大量类访问。
目前我将它们读入我包含在其他类中的 Config 对象中。如果有人有更好的想法(xml?)我洗耳恭听。
谢谢!
最佳答案
将所有相关的变量集中在一个屋檐下以便于访问。可能有 2 种方法:
(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 /类中的包装器。
如果程序需要,您可以使用 getters-setters 以线程安全的方式处理它们。
关于C++ 输入全局变量可跨多个类访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10275479/