3

不明なオプションを処理したい (注意、決して使用しないでください)。

だからこれがあります:

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;
    }
  }
}

しかし、人々は常にこれを行っており、ライブラリは私たちが常に行っているすべてのことを処理することになっていると思うので、それを行うためのよりクリーンなものが欠けていますか?

4

1 に答える 1