我正在阅读Boost.Program_options教程。
以下是他们介绍的一些代码:
// Declare the supported options.
po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("compression", po::value<int>(), "set compression level")
;
我理解这段代码的目的,但语法让我感到困惑。缩进行是函数的参数吗?括号是什么?
答案 0 :(得分:2)
我认为desc.get_options()
返回定义operator()
的类的对象,后者又返回相同的对象。因此,缩进行是使用括号中的参数调用此运算符。
查看boost/program_options/options_description.hpp
,您可以看到相关课程options_description_easy_init
确实有几个operator()
,例如:
options_description_easy_init&
operator()(const char* name,
const char* description);