类模板
<functional>

std::mem_fun1_t

template <class S, class T, class A> class mem_fun1_t;
从单参数成员(指针版本)生成函数对象类
从类T的成员生成二元函数对象类,该成员接受类型为A的参数并返回类型为S的值。

mem_fun1_t通常用作类型。函数 mem_fun(也在头文件 <functional> 中定义)可用于直接构造该类型的对象。

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

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

成员

构造函数
从类T的成员函数p构造二元函数对象类。此成员函数的返回类型应与类型S兼容。
S operator() (T* p, A x)
接受两个参数的成员函数:p是指向类型为T的对象指针,其成员将与x作为参数一起调用。

另见