版权声明:本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名elloop(包含链接)
本系列文章的目录在这里:目录. 通过目录里可以对STL总体有个大概了解
#前言
本文总结了STL中函数适配器:mem_fn
系列函数的用法,它们是:mem_fun (c++98)
, mem_fun_ref (c++98)
, mem_fn (c++11)
. 文中给出了它们各自的使用范围及代码示例,提到了mem_fn的使用限制,使用bind来解决这个限制。
#基本用法
从名字也能看出个大概,mem_fn
里面的mem就是指类的成员member, 而fn就是指function, 加在一起就是说member function,即mem_fn
是用来适配类的成员函数的,下面从代码里来看一下它们的区别:
mem_fn_and_mem_fun.cpp是我写的一个测试文件,从注释里看,并列的3个部分,分别是:
- mem_fun
- mem_fun_ref
- mem_fn
总结
函数 |
作用 |
mem_fun |
把成员函数转为函数对象,使用对象指针进行绑定 |
mem_fun_ref |
把成员函数转为函数对象,使用对象(引用)进行绑定 |
mem_fn |
把成员函数转为函数对象,使用对象指针或对象(引用)进行绑定 |
bind |
包括但不限于mem_fn的功能,更为通用的解决方案,详见目录里std::bind的文章 |
源码及参考链接
欢迎访问github博客,与本站同步更新