bec*_*cko 17 c++ boost boost-program-options
我需要实现一个可选的标志,比如-f/ --flag.由于这是一个标志,因此没有关联的值.在我的代码中,我只需要知道标志是否已设置.使用boost :: program_options执行此操作的正确方法是什么?
ssh*_*nin 29
一种方便的方法是使用以下bool_switch功能:
bool flag = false;
namespace po = boost::program_options;
po::options_description desc("options");
desc.add_options()
("flag,f", po::bool_switch(&flag), "description");
po::variables_map vm;
//store & notify
if (flag) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
这比手动检查字符串更安全(字符串仅在整个定义中使用一次).
像往常一样使用但没有价值:
boost::program_options::options_description od("allowed options");
od.add_options()
("flag,f", "description");
po::variables_map vm;
// store/ notify vm
if (vm.count("flag")) {
// flag is set
}
Run Code Online (Sandbox Code Playgroud)
例如,请参阅" 入门"选项帮助.
| 归档时间: |
|
| 查看次数: |
8816 次 |
| 最近记录: |