gpt4 book ai didi

c++ - 这是什么编程技术? ( boost 图书馆)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:24 29 4
gpt4 key购买 nike

我正在尝试从 boost 库 ( http://www.boost.org/doc/libs/1_38_0/doc/html/program_options/tutorial.html#id3761458 ) 的 program_options 中理解示例

特别是这部分:

desc.add_options()
("help", "produce help message")
("compression", po::value<int>(), "set compression level")
;

他到底在做什么,那是什么技术?

这部分 desc.add_options() 可能是一个函数调用,但另一个 () 如何适合这里?这是某种运算符重载吗?

谢谢!

最佳答案

“add_options()”函数实际上返回一个functor。 ,即覆盖 () 运算符的对象。这意味着下面的函数调用

desc.add_options() ("help", "produce help message");

实际上扩展为

desc.add_options().operator()("help", "produce help message");

“operator()”还返回一个仿函数,因此调用可以像您所显示的那样被链接起来。

关于c++ - 这是什么编程技术? ( boost 图书馆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809827/

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