【发布时间】:2014-01-08 23:36:38
【问题描述】:
po::options_description desc("This are the options that are available");
desc.add_options()("help", "print help")(
"deer", po::value<uint32_t>(), "set how many deer you want")(
"rating", po::value<uint32_t>(), "how good ?")(
"name", po::value<std::string>(), "and your name is ... ?");
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
在代码的以下部分中,我尝试遍历 vm
for (const auto& it : vm) {
std::cout << it.first.c_str() << " "
<< it.second.as<it.pair::second_type>() << "\n";
}
这里的重点是vm 包含相同类型的keys,但是具有不同类型的值,在此示例中,我将uint32_t 与std::string 混合在一起。
我如何迭代这种容器?我想避免使用冗长的方法,所以我试图只迭代这个数据结构。
编辑:
我忘记写了,但是很明显
namespace po = boost::program_options;
【问题讨论】:
标签: c++ boost c++11 boost-program-options