社区
工具平台和程序库
帖子详情
mem_fun1_t这个函数是做什么用的?在标准模办中?
wwww4321
2004-02-23 01:09:18
mem_fun1_t这个函数是做什么用的?在标准模办中?
...全文
77
6
打赏
收藏
mem_fun1_t这个函数是做什么用的?在标准模办中?
mem_fun1_t这个函数是做什么用的?在标准模办中?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
c++适配器 bind2nd 与 bind1st 取反适配器 not1()
函数
指针适配器 ptr_fun 成员
函数
适配器
mem
_fun_ref()或者
mem
_fun
要使用头文件#include < functional> 1.认识bind2nd 与 bind1st 的区别 2.取反适配器 not1() 3.
函数
指针适配器 ptr_fun 4.成员
函数
适配器
mem
_fun_ref()或者
mem
_fun对类内
函数
进行适配,
关于
mem
_fun_ref和
mem
_fun的应用场景
mem
_fun_ref和
mem
_fun都属于
函数
适配器。除此之外,还有bindlst(op,value) 和bind2nd(op,value)等。 我的理解是,bindlst(op,value) 和bind2nd(op,value)是针对
标准
类型的
函数
适配器。而
mem
_fun_ref和
mem
_fun是专门针对类成员
函数
的
函数
适配器。 有如下一段代码: class Person { public: Person(const string &name) : name_(name) {} .
mem
_fun_ref,
mem
_fun,not1,not2,ptr_fun
今天调试程序的时候,遇到了这样一个问题 bool check(int elem); vecotv; ... pos=find_if(v.begin(),v.end(),not1(check))竟然出错,查找资料之后,发现,原来原因如下: ptr_fun
做
的唯一的事是使一些typedef有效( 仿
函数
类的operator()所带的参数的类型和它的返回类型。对于binary_functio
ptr_fun
mem
_fun_ref
mem
_fun bind1st bind2nd
////////////////////////////////////////////////////////////////////////// //ptr_fun
mem
_fun_ref
mem
_fun //STL 算法
函数
有些要传入仿
函数
,例如remove_if()的第三个参数。 //许多情况下直接传入一个全局指针
函数
是不会报错的,有时则不然,例如:bind2nd(),这时需要使用ptr_fun; //当一个
函数
指针是类成员
函数
时,编译将不能通过。此时将使用到了
mem
_fun和me
参数绑定bind、bind1st、bind2nd以及ptr_fun、
mem
_fun、
mem
_fun_ref的使用
对于那种只在一俩个地方使用的简单操作,lambda表达式是最有用的,如果我们需要在很多地方使用相同的操作,通常应该定义一个
函数
,而不是多次编写相同的lambda表达式,如果一个操作需要很多语句才能完成,通常使用
函数
更好。
标准
库bind
函数
使用场景 将
函数
转换为泛型算法适用的参数: 例如用在find_if调用
中
的lambda比较一个string和一个给定大小,我们可以很容易地编写一个完成同样工作的
函数
bool check_size(const string& s, string::size
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章