社区
工具平台和程序库
帖子详情
bind2nd的问题
crs96321
2003-12-19 09:49:10
我在学习容器的时候遇到这样一句代码:
bind2nd(less<int>(),4)
不知道怎么理解?
bindnd函数怎么用?
less<int>是什么意思?
谢谢大侠!!!!
...全文
84
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
例如,`
bind
1st`和`
bind
2nd
`可以分别固定函数的第一个和第二个参数,而`not1`和`not2`则用于取反函数的结果。 `for_each`是STL中的一个迭代器算法,它接受一个范围(由两个迭代器定义)和一个函数对象,然后对范围...
C++ function、
bind
以及lamda表达式
与C++98中的
bind
1st和
bind
2nd
相比,C++0x的std::
bind
更为强大,它可以绑定任意数量和位置的参数。下面是一个使用std::
bind
的例子: ```cpp #include int Func(int a, int b) { ... } int x = 10; auto ...
C++新标准的内容总结,大纲
bind
:绑定器
bind
1st和
bind
2nd
+二元函数对象 =》 一元函数对象 lambda表达式 三:智能指针 shared_ptr和weak_ptr 四:容器 set和map:红黑树 O(lgn) unordered_set和unordered_map :哈希表O(1) array:数组 ...
C++进阶STL适配器总结1
例如,`
bind
1st`和`
bind
2nd
`可以与STL的仿函数(比如`less<int>`)结合,用于计算数组中满足条件的元素个数。同样,取反器如`not1`和`not2`可以将谓词函数的结果取反,用于反转判断条件。 然后是迭代器适配器,它们...
boost库中mem_fun示例代码, 用于将成员函数转化为函数指针
此外,`mem_fun`也可以和`std::
bind
2nd
`或`std::
bind
1st`(在C++11之后被`std::
bind
`取代)一起使用,如果你需要固定一部分参数。例如,如果你有一个接受两个参数的成员函数`add(int, int)`,你可以先绑定其中一个...
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章