我正在尝试使用 libconfig 库来解析来自外部配置文件的变量。
在libconfig站点上它说:Config类表示配置,而Setting类表示配置设置。请注意,按照设计,这些类都不提供公共复制构造函数或赋值运算符。因此,这些类的实例只能通过引用或指针在函数之间传递。
我很难创建一个返回 Setting 类引用的函数(据我了解,返回对本地对象的引用是不受欢迎的。但我不知道如何声明一个全局引用给定上述限制)。在底部,我附上了我尝试编码的片段,但是它们不起作用。我是 C++ 新手,目前正在阅读一本关于它的教科书,但我对引用和指针的处理仍然感到不安。如果有人能阐明我做错了什么,我将不胜感激。
配置文件
A=
{
min = 3;
}
代码
libconfig::Setting& GetKey(const char* filename, const char* method)
{
libconfig::Config cfg;
cfg.readFile(filename);
libconfig::Setting &root = cfg.getRoot();
libconfig::Setting &key = root[method];
// How can I return key?
}
libconfig::Setting &key = GetKey("config.cfg","A");
key.lookupValue("min",min);