Boost.Program_options语法

时间:2010-10-30 05:28:10

标签: c++ boost

我正在阅读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")
;

我理解这段代码的目的,但语法让我感到困惑。缩进行是函数的参数吗?括号是什么?

1 个答案:

答案 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);