参数绑定bind
来源:互联网 发布:钢结构算量用什么软件 编辑:程序博客网 时间:2024/05/07 00:40
bind
函数 定义在头文件functional
中
当某算法只接受单一参数,而我们需要多个参数来解决问题时要用到参数绑定。
如:
假如我们想找到容器中string长度大于5的元素时定义一个比较函数:
bool check_size(const string &s, string::size_type sz){ return s.size() >= sz;}
但是find_if
第三个参数只接受一元谓词 这时要用到 bind
函数
auto newCallable = bind(callable, arg_list);
当调用newcallable
时bind
将参数传给callable
然后改调用callable
例子:
using std::placeholders::_1;auto check5 = bind(check_size, _1, 6);//参数列表中的_n代表占位check_size中的第n个参数string s = “hello”;bool = check5(s); //会调用check_size(s, 5)
再调用find_if
:
auto wc = find_if(word.begin(), word.end(), bind(check_size,_1, 5));//find_if将会调用 check_size(string, 5)
除此之外还可以用bind1st
和 bind2nd
将某个值绑定到函数对象的第一个或者第二个参数上
//通过预定义函数对象求大于2的个数 greater<int>() 有2个参数 //将 2 绑定到了 greater<int>()的第二个参数上int num3 = count_if(v1.begin(), v1.end(), bind2nd(greater<int>(), 2 ) );cout << "num3:" << num3 << endl;
0 0
- 参数绑定bind
- bind参数绑定
- 参数绑定bind
- C++ bind参数绑定
- bind绑定
- C++primer--lambda表达式-参数绑定之bind
- WinSock 绑定(bind())问题?
- jquery bind绑定
- boost::bind 函数绑定
- boost bind 绑定器
- ios Bind绑定
- linux socket bind绑定
- jquery bind的绑定
- bind函数绑定
- bind函数绑定
- v-bind style绑定
- WPF Bind 绑定
- data-bind 绑定
- 自定义布局VerticalView(倒置流式布局)
- Hadoop Yarn 框架原理及运作机制
- leetcode---Excel Sheet Column Number
- UVa213
- 梯度下降法
- 参数绑定bind
- 菜鸟路上遇到的问题---NoClassDefFoundError
- maven启动失败问题
- 1613-3-傅溥衍 总结《2016年10月25日》【连续第二十五天总结】
- 关于ContactsContract
- Ubuntu--(8)段错误Segmentation fault (core dumped)
- 黑白棋经典残局(11)
- 并行计算—parallel,for联合使用
- Android-RecyclerView 实现步骤