使用成员函数的c ++ 11代码的含义如下所示

时间:2017-10-31 07:03:38

标签: c++11

我不明白“R(F :: * / mf /)”,R是一个类型,R之后应该是参考参数

template<typename F, typename R>
Fty make_adaptor(F fn, R (F::* /*mf*/)(const SemanticValues& sv) const) 
{
    return TypeAdaptor<R>(fn);
}

2 个答案:

答案 0 :(得分:6)

它是指向成员函数的指针。特别是:

R (F::* mf)(const SemanticValues& sv) const

  • * mf:一个名为mf的指针(其名称已注释掉)......
  • F:::...发送给F ...
  • 的成员函数
  • const SemanticValues& sv:...接受对SemanticValues ...
  • 的const引用
  • R:...并返回R ...
  • 类型的值
  • const:...并且本身就是常量。

答案 1 :(得分:0)

这是某些pointer to member function的类型。

BTW,在许多情况下,您可能更喜欢将std::functionlambda expressions一起使用。