社区
工具平台和程序库
帖子详情
bind2nd的问题
crs96321
2003-12-19 09:49:10
我在学习容器的时候遇到这样一句代码:
bind2nd(less<int>(),4)
不知道怎么理解?
bindnd函数怎么用?
less<int>是什么意思?
谢谢大侠!!!!
...全文
85
5
打赏
收藏
bind2nd的问题
我在学习容器的时候遇到这样一句代码: bind2nd(less(),4) 不知道怎么理解? bindnd函数怎么用? less是什么意思? 谢谢大侠!!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kaphoon
2003-12-20
打赏
举报
回复
这和adaptor有关
less有两个参数,用bind2nd后,就把第二个参数绑起来,以后就一直和那个参数比较
pig1210127
2003-12-20
打赏
举报
回复
恩
huruiduan1983
2003-12-20
打赏
举报
回复
less<int>()是个function object属于<functional>类库,主要用于泛行算法
bind2nd是function adapter,就是通常说的适配器,用于绑定函数参数,
bind2nd(less<int>(),4)的意思是使less<int>()的第二个参数为4.
如果这么用的话:
int ia[10] = {1,1,2,3,5,8,13,21,43,12};
vector<int> vec(ia,ia+10);
vector<int>::const_iterator iter = vec.begin();
vector<int>::const_iterator end_it = vec.end();
while ((iter = find_if(iter,end_it,bind2nd(less<int>(),4))) != end_it)
{
cout<< *iter << ' ';
++iter;
}
就是把vec中小于4的打印出来,如果把bind2nd(less<int>(),4)改为bind1st(less<int>(),4)
就是把大于4的打印出来
dft2000
2003-12-20
打赏
举报
回复
less<int>()是一个仿函数 stl的标准函数对象,用来比较大小,这里应该是小于的意思。int是这个函数对象处理的类型 ,他的返回值是一个bool 类型
wildcat1984
2003-12-19
打赏
举报
回复
我也不是很懂.
这个函数的原型可以看看msdn
C++常用stl算法.pdf
学习c++,stdl 常用的算法方法,比如for_each,
bind
,等
C++ function、
bind
以及lamda表达式
本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和
bind
机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间,首先要讲一个概念,closure(闭包),这个概念是理解lambda的基础。下面我们来看看wikipedia上对于计算机领域的closure的定义: A closure (also lexical closure, function closure or function value) is a function together with a refer
C++新标准的内容总结,大纲
#include
#include
using namespace std; /* C++11 标准相关的内容 总结一个 一:关键字和语法 auto:可根据右值,推导出右值的类型,然后左边变量的类型也就已知了 nullptr:给指针专用(能够和整数进行区别) foreach:可以遍历数组,容器等 for(Type val : container) =》 底层是通过指针或者迭代器来实现的 { cout<
bind:绑定器
bind
1st和
bind
2nd
+二元函数对象 =》 一元函数对象 lambda表达式 三:智能指针 shared_ptr和weak_ptr 四:容器 set和map:红黑树 O(lgn) unordered_set和unordered_map :哈希表O(1) array:数组 vector forward_list
C++进阶STL适配器总结1
}3. 插入迭代器适配器|函数|作用||:-||insert_iterator
inserter (Container& x, Itera
boost库中mem_fun示例代码, 用于将成员函数转化为函数指针
boost库中,mem_fun使用实例代码, 注意要有boost库才能编译. 用于将成员函数转化为函数指针.
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章