std::mem_fun
来自cppreference.com
< cpp | utility | functional
在标头 <functional> 定义
|
||
template< class Res, class T > std::mem_fun_t<Res,T> mem_fun( Res (T::*f)() ); |
(1) | (C++11 中弃用) (C++17 中移除) |
template< class Res, class T > std::const_mem_fun_t<Res,T> mem_fun( Res (T::*f)() const ); |
(1) | (C++11 中弃用) (C++17 中移除) |
template< class Res, class T, class Arg > std::mem_fun1_t<Res,T,Arg> mem_fun( Res (T::*f)(Arg) ); |
(2) | (C++11 中弃用) (C++17 中移除) |
template< class Res, class T, class Arg > std::const_mem_fun1_t<Res,T,Arg> mem_fun( Res (T::*f)(Arg) const ); |
(2) | (C++11 中弃用) (C++17 中移除) |
创建成员函数包装对象,从模板实参推导类型。包装对象期待到指向 T
类型对象的指针作为其 operator() 的首个参数。
1) 等效地调用 std::mem_fun_t<S,T>(f) 或 std::const_mem_fun_t<S,T>(f) 。
2) 等效地调用 std::mem_fun1_t<S,T>(f) 或 std::const_mem_fun1_t<S,T>(f) 。
此函数与相关类型于 C++11 弃用并于 C++17 移除,为了让位给更通用的 std::mem_fn 与 std::bind ,它们都从成员函数创建可调用类型的兼容适配器的函数对象。
参数
f | - | 指向要创建包装的成员函数的指针 |
返回值
包装 f
的函数对象。
异常
可能会抛出由实现定义的异常。
注解
std::mem_fun 与 std::mem_fun_ref 的区别是前者产生的函数包装期待指向对象指针,而后者——期待引用。
示例
本节未完成 原因:暂无示例 |
参阅
(C++11) |
从成员指针创建出函数对象 (函数模板) |
(C++11 中弃用)(C++17 中移除) |
从成员函数指针创建包装器,能以一个对象引用调用 (函数模板) |