我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

C++STLbind1stbind2ndbind的使用方法

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

创新互联建站"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!创新互联建站具备承接各种类型的成都网站制作、网站建设项目的能力。经过10余年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。

说明

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++STLbind1stbind2ndbind的使用方法
网站地址:http://shouzuofang.com/article/isjpgi.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上四川攀枝花网站建设。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 四川攀枝花网站建设公司 四川攀枝花网站建设公司-选我们!四川专业的攀枝花网站制作公司!
All Rights Reserved 版权所有 蜀ICP备2024105912号-3