Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;-参数问题_C++_Boost_Parameters_Containers - Fatal编程技术网

C++ C++;-参数问题

C++ C++;-参数问题,c++,boost,parameters,containers,C++,Boost,Parameters,Containers,我正在寻找一些简单而高效的参数容器,其作用类似于内存中的xml文件表示(或者ini文件,作为另一个示例) 我的意思是,基本上它可以存储每个部分的部分和参数集,具有像GetValue(“ParameterName”)这样的简单访问器和简单的返回值转换 如果它是可序列化的,那就太好了 我昨天写了这样的东西,很好,它适合我的需要,但可能有更方便和灵活的东西可用吗 可能是boost中的某种参数映射 谢谢你你考虑过了吗?看看。它可以完成你想要的和更多的功能:INI文件解析、环境变量解析、命令行选项解析和可

我正在寻找一些简单而高效的参数容器,其作用类似于内存中的xml文件表示(或者ini文件,作为另一个示例)

我的意思是,基本上它可以存储每个部分的部分和参数集,具有像
GetValue(“ParameterName”)
这样的简单访问器和简单的返回值转换

如果它是可序列化的,那就太好了

我昨天写了这样的东西,很好,它适合我的需要,但可能有更方便和灵活的东西可用吗

可能是
boost
中的某种参数映射


谢谢你

你考虑过了吗?

看看。它可以完成你想要的和更多的功能:INI文件解析、环境变量解析、命令行选项解析和可扩展性。

不知道这是否过份,但in MUSCLE可以完成上面列出的所有功能。您可以使用它序列化任何类型的数据(结构化或非结构化),或者通过您可以使用的/

将其用作解析的.ini样式配置文件的内存中容器

它读取和写入xml和ini文件

它将参数存储为一棵树,您可以使用点符号访问这些值:

std::string value = pt.get<std::string>("debug.filename");

现在我正在使用一个包装器来包装
boost::unordered_map
,它可以很容易地切换到
std::map
(我仍然非常喜欢基于哈希的结构:)但是
boost
和其他模板库实际上以解决任何问题而闻名,所以,我认为可能存在更方便的方法……考虑到他将使用std::map,我想知道序列化它的最简单方法是什么?@Vargas
boost::serialize
,我怀疑。在我的例子中,我必须为
boost::unordered_map
编写自定义序列化例程,而且,这并不像第一次看起来那么难:)
pt.put("debug.filename", fileName);