gpt4 book ai didi

c++ - Boost 程序选项添加选项语法

转载 作者:IT老高 更新时间:2023-10-28 21:46:31 26 4
gpt4 key购买 nike

我正在编写一个使用 Boost 程序选项库的程序,我注意到以下语法自从我看到它以来一直困扰着我:

desc.add_options()
("help","produce help message")
( /* other flag, value, description pairs here */)
;

我看到在标题中,operator() 被覆盖,但我不确定这如何使它在语法上是正确的。

其次,与只调用 add_options() 多次相比,这种语法有什么优势(除了炫耀您可以像这样操作语法之外)?

最佳答案

add_options 成员函数返回 options_description_easy_init 类型的对象。后者重载了 operator() 以返回对自身的引用。这使您可以像在代码段中显示的那样链接调用。

链接调用和多次调用 add_options 的区别在于,在前一种情况下,会创建一个 options_description_easy_init 实例,并且每次调用 operator () ,它将选项添加到所有者(options_description)。如果您要多次调用 add_options,则每次调用都会创建一个新的 options_description_easy_init 实例。

关于c++ - Boost 程序选项添加选项语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10486588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com