我不明白“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);
}
答案 0 :(得分:6)
它是指向成员函数的指针。特别是:
R (F::* mf)(const SemanticValues& sv) const
是
* mf
:一个名为mf
的指针(其名称已注释掉)...... F::
:...发送给F
... const SemanticValues& sv
:...接受对SemanticValues
... R
:...并返回R
... const
:...并且本身就是常量。答案 1 :(得分:0)
这是某些pointer to member function的类型。
BTW,在许多情况下,您可能更喜欢将std::function
与lambda expressions一起使用。