参数规范中的对象

Object in parameter specification

本文关键字:对象 范中 参数      更新时间:2023-10-16

为什么这句话在C++有效?

qi::rule<Iterator, std::string(), skipper<Iterator> > name;

从这里提取:

  • 提升::精神::qi - 迷你 C 编译器教程 - 函数.hpp

规则的定义(恢复)如下:

template <typename Iterator, typename T1, typename T2,
                             typename T3, typename T4>
struct rule : boost::proto::extends<bla, bla>, parser<bla, bla>
{
  bla, bla
};

从这里提取:

  • 规则.hpp 文件

规则定义需要一个类型,但是我向它发送了一个对象。可能吗?

在此上下文中,std::string() 表示返回std::string且没有参数的事物的类型。例如

std::string foo() { return "Foo!n"; }

或实例

struct Foo
{
  std::string operator()() const { return "Foo!n"; }
};

你不给它一个对象。 std::string() 是不带参数并返回std::string的函数类型。