2017-12-02 112 views
0

boost.program_options库存储并允许编程访问运行该程序时在命令行上提供的参数。CLI解析完成后,可以添加boost program_options和参数吗?

一旦程序运行并且已经解析了所有CLI参数,调用一些库函数(对我来说是未知的,或者容易编码的)来实例化选项/参数,还可以更改选项上的值参数吗?换句话说,是否可以简单地启动(即添加)已经在源代码中配置的选项,但在调用时没有提及?

为什么?假设程序有一个GUI,并且用户想要更新命令行中的一些设置。

回答

0

你将不得不重新解析。

program_options_descriptions的动态添加更多的是因为您有一个插件添加其他选项而不是更改已经解析的内容。或者用于获取多组选项(基本,高级,环境变量和配置文件来源)并填充variables_map。

options_description有一个add()重载,它接受另一个options_description实例并将该实例中的选项添加到此实例中。但是,这样的添加不会导致variable_map中已解析的项目发生更改。

相关问题