类模板
<functional>
std::mem_fun_t
template <class S, class T> class mem_fun_t;
从无参成员生成函数对象类(指针版本)
从类
T的无参成员生成一个一元函数对象类,该成员返回类型为
S。
mem_fun_t通常用作类型。函数
mem_fun(也在头文件
<functional> 中定义)可用于直接构造该类型的对象。
该类派生自
unary_function,通常定义为
1 2 3 4 5 6 7 8 9
|
template <class S, class T>
class mem_fun_t : public unary_function <T*,S>
{
S (T::*pmem)();
public:
explicit mem_fun_t ( S (T::*p)() ) : pmem (p) {}
S operator() (T* p) const
{ return (p->*pmem)(); }
};
|
成员
- 构造函数
- 从类T的成员函数p构造一个一元函数对象类。该成员函数的返回类型应与类型S兼容。
- S operator() (T* p) const
- 接受一个参数的成员函数。为此函数对象期望的参数是类型为T的对象指针,它的成员将被调用。
另见
- mem_fun
- 将成员函数转换为函数对象(指针版本)(函数模板)
- mem_fun1_t
- 从单参数成员生成函数对象类(指针版本)(类模板)
- unary_function
- 一元函数对象基类 (类模板)