eto*_*ntz 5 c++ boost boost-program-options
我有一个boost::program_options::variables_map参数。现在我想像键值对一样手动插入到这个地图中。例子:
boost::program_options::variables_map args
args["document"] = "A";
args["flag"] = true;
Run Code Online (Sandbox Code Playgroud)
问题是我已经有了这两个选项
desc.add_options()
("document", po::value<std::string>())
("flag", po::value<bool>());
Run Code Online (Sandbox Code Playgroud)
但有时它们会从命令行获得空输入。所以如果它们是空的,那么我必须在 po::variables_map args 本身中更新它们
由于它公开继承自std::map<std::string, variable_value>它,因此将其强制转换std::map和使用应该相对安全:
(*static_cast<std::map<std::string, variable_value>*>(my_variable_map))[name] = value;
Run Code Online (Sandbox Code Playgroud)
不能保证这足以使用variable_map它,但目前它似乎是:cpp,h。
令人烦恼的是,这是需要的。