类模板
<functional>

std::const_mem_fun1_t

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

const_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) const;
public:
  explicit mem_fun1_t ( S (T::*p)(A) const ) : 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 作为参数调用。

另见