繁体   English   中英

使用boost.program_options可以做什么,不能做什么?

[英]what can and can't I do with boost.program_options?

我目前使用一些旧的C库来获取程序选项,并希望用一些适当的C ++替换它(主要是为了独立于该库,这是一个真正的负担)。 我正在研究使用boost.program_options,但我不确定它是否能支持我想要的一切。 我想要的一些东西是:

  1. 允许以下命令行语法: myprogram option=value (特别是,我真的不想要--option value语法)

  2. 如果没有提供值,则使用默认值(显然这可以在我的程序中完成,但选项库中的支持会很好)

  3. 允许默认选项(即使我不提供它们也始终存在)和自动帮助输出,包括所有选项及其描述

  4. 允许数学解析,即(命令行) myprogram option1=Pi option2=3/5 option3=sqrt(2)在我的程序中给出3.1415 ...,0.6和1.415 ....

  5. 允许扩展单个值。 option_3Dpoint对应一个std::array<double,3> ,我想要myprogram option_3Dpoint=0,0,0myprogram option_3Dpoint=0 (扩展到0,0,0 )才能工作

boost.program_options可以支持以下哪些内容? 还有其他选择吗?

boost.program_options是非常好的库。 您也可以使用解析配置文件。 回答:

  1. 不知道,但似乎没有内置的支持。
  2. 是。
  3. 是。
  4. 否,除非您创建自己的表达式评估处理程序或使用其他一些boost库来执行此操作。
  5. 是的,您需要编写自己的处理程序,从0,0,0字符串创建3DPoint对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM