gpt4 book ai didi

c++ - 在程序选项中添加键值对

转载 作者:行者123 更新时间:2023-11-30 05:31:55 25 4
gpt4 key购买 nike

我需要在我的程序中加载一个 map ,其中包含一个整数键和一个字符串值,如下所示:

1, oil
2, car
5, house

我想使用 boost::program_options 加载它们.我可以在 tutorial 中看到我可以使用如下语法从选项中加载一个 vector :

int opt;
po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("optimization", po::value<int>(&opt)->default_value(10), "optimization level")
("include-path,I", po::value< vector<string> >(), "include path")
("input-file", po::value< vector<string> >(), "input file");

然后我可以使用program --input-file file1, --input-file file2为了用 file1 创建一个 vector 和 file2 .从程序选项中实现 map 的最佳方式是什么?

我可以使用例如一个字符串,然后拆分字符串以获得值,例如 program --pair "1, oil" --pair "2, car" --pair "5, house" ,或者我可以使用 program --key 1 --value oil --key 2 --value car --key 5 --value car 将它们分开.

我想使用可以从命令行和配置文件轻松编写的东西。哪种方法最好?

最佳答案

I can use for example a string and then splitting string in order to obtain values, like program --pair "1, oil" --pair "2, car" --pair "5, house" ...

我会坚持第一个选项并阅读 std::vector<std::string>字符串 vector 。之后,您通过 native 解析的 vector ,拆分字符串并填充您的 map 。

... or I can separate them using program --key 1 --value oil --key 2 --value car --key 5 --value car

我不确定这种方式是否会保留您需要的强顺序。

关于c++ - 在程序选项中添加键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com