千家信息网

C++ STL bind1st bind2nd bind 的使用方法

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"C++ STL bind1st bind2nd bind 的使用方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++ STL bin
千家信息网最后更新 2025年12月02日C++ STL bind1st bind2nd bind 的使用方法

本篇内容主要讲解"C++ STL bind1st bind2nd bind 的使用方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++ STL bind1st bind2nd bind 的使用方法"吧!

说明

bind1st()bind2nd(),在 C++11 里已经 deprecated 了,建议使用新标准的 bind()
下面先说明bind1st()bind2nd()的用法,然后在说明bind()的用法。

头文件

#include

作用

bind1st()bind2nd()都是把二元函数转化为一元函数,方法是绑定其中一个参数。
bind1st()是绑定第一个参数。
bind2nd()是绑定第二个参数。

例子

#include #include  #include  using namespace std; int main() { int numbers[] = { 10,20,30,40,50,10 }; int cx; cx = count_if(numbers, numbers + 6, bind2nd(less(), 40)); cout << "There are " << cx << " elements that are less than 40.\n"; cx = count_if(numbers, numbers + 6, bind1st(less(), 40)); cout << "There are " << cx << " elements that are not less than 40.\n"; system("pause"); return 0; }
There are 4 elements that are less than 40.There are 1 elements that are not less than 40.

分析
less()是一个二元函数,less(a, b)表示判断a是否成立。

所以bind2nd(less(), 40)相当于x<40是否成立,用于判定那些小于40的元素。

bind1st(less(), 40)相当于40是否成立,用于判定那些大于40的元素。

bind()

bind1st()bind2nd(),在 C++11 里已经 deprecated 了.bind()可以替代他们,且用法更灵活更方便。

上面的例子可以写成下面的形式:

#include #include  #include  using namespace std; int main() { int numbers[] = { 10,20,30,40,50,10 }; int cx; cx = count_if(numbers, numbers + 6, bind(less(), std::placeholders::_1, 40)); cout << "There are " << cx << " elements that are less than 40.\n"; cx = count_if(numbers, numbers + 6, bind(less(), 40, std::placeholders::_1)); cout << "There are " << cx << " elements that are not less than 40.\n"; system("pause"); return 0; }

std::placeholders::_1 是占位符,标定这个是要传入的参数。
所以bind()不仅可以用于二元函数,还可以用于多元函数,可以绑定多元函数中的多个参数,不想绑定的参数使用占位符表示。
此用法更灵活,更直观,更便捷。

到此,相信大家对"C++ STL bind1st bind2nd bind 的使用方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

函数 参数 方法 使用方法 C++ 例子 元素 内容 面的 学习 便捷 实用 更深 直观 作用 兴趣 多个 实用性 实际 建议 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 钉钉是否符合网络安全要求 恰恰互联网科技股份有限公司 广州腾科网络技术有限公司实训 西华师范大学软件开发 数据库数据表的联系 如何雇用一个软件开发人员 秦皇岛微服务架构数据库 江苏北斗网络时钟服务器 思福迪数据库审计怎么样 拟成立网络安全领导小组 哪个行业的软件开发比较稳定 第二届网络安全大赛 秒表软件开发程序 软件开发需要学日语吗 普陀区网络技术服务业务流程 全面战争连接服务器出现问题 数据库如何在表中添加信息 网络安全指标20种 为什么要重视网络安全作文 为什么连接服务器登录不上游戏 省网络安全大讲堂 网络技术与化工 湖南小桔灯互联网科技有限公司 腾讯儿童网络安全 农行应用服务器返回异常 当兵的网络安全 世界网络安全公司实力排名 数据库类型有哪几种数据类型 ZLAN一路串口服务器 数据库原理5版下载
0