我想处理(注意,不以任何方式使用)未知选项。
所以有这个:
http://www.boost.org/doc/libs/1_54_0/doc/html/program_options/howto.html#idp123440592
这可以用来收集和使用任何未知的选项,所以我可以这样做:
po::variables_map vm;
po::parsed_options parsed = po::command_line_parser(ac,av).options(desc).allow_unregistered().run();
{
vector<string> to_pass_further = collect_unrecognized(parsed.options, po::include_positional);
if (to_pass_further.size())
{
cout << "Unrecognized options:" << endl;
for (auto i = to_pass_further.cbegin(); i != to_pass_further.cend(); ++i)
{
cout << std::left << std::setw(2) << ' ' << *i;
return -1;
}
}
}
但既然我认为人们一直在这样做,图书馆应该处理我们一直在做的所有事情,我是否错过了一些更清洁的东西呢?