类模板
<functional>

std::const_mem_fun1_ref_t

template <class S, class T, class A> class const_mem_fun1_ref_t;
从单参数const成员生成函数对象类(引用版本)
从类T的常量成员生成二进制函数对象类,该成员接受类型为A的参数并返回类型为S的值。

const_mem_fun1_ref_t通常用作一个类型。可以使用头文件<functional>中定义的mem_fun_ref函数直接构造此类型的对象。

此类派生自 binary_function,通常定义为

1
2
3
4
5
6
7
8
9
template <class S, class T, class A>
  class mem_fun1_ref_t : public binary_function <T,A,S>
{
  S (T::*pmem)(A) const;
public:
  explicit mem_fun1_ref_t ( S (T::*p)(A) const ) : pmem (p) {}
  S operator() (T& p, A x) const
    { return (p.*pmem)(x); }
};

成员

构造函数
从类T的const成员函数p构造二进制函数对象类。此成员函数的返回类型应与类型S兼容。
S operator() (T& p, A x)
带两个参数的成员函数:p是类型T的对象,其const成员将使用x作为参数进行调用。

另见