函数适配器

1、绑定器和取反器

创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站制作、黄南州网络推广、小程序定制开发、黄南州网络营销、黄南州企业策划、黄南州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供黄南州建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

  (1)、绑定器:把二元函数对象中一个参数固定,使之转为一元函数,C++标准库中提供了2种预定义的binder适配器,bind1st、bind2nd,分别绑定了第一个/第二个参数;

  (2)、取反器:翻转的适配器;

  (3)、一元函数:只针对一个参数,只有一个返回值;

  二元函数:针对2个参数,只有一个返回值;

  (4)、绑定器针对的是参数,绑定后其值就不变了,取反器对其进行取反;

  (5)、可以通过调试工具-g;对源码进行剖析;

2、代码实现

关于绑定器和取反器的代码:

#include<iostream>
#include<list>
#include<algorithm>
using namespace std;

int main(void){
    int ar[] = {1,3,5,7,9,8,6,4,2,0};
    int n = sizeof(ar) / sizeof(int);
    int nCount = count(ar,ar+n, 4);//求数组中一共有多少个4
    cout<<nCount<<endl;
    //x <= 4;的个数
    nCount = count_if(ar, ar+sizeof(ar)/sizeof(int), bind2nd(greater<int>(), 4));//用的是第二个绑定器进行的绑定;;
    //4 < x
    //nCount = count_if(ar, ar+sizeof(ar)/sizeof(int), bind1st(less<int>(), 4));//用的是第一个绑定器进行的绑定;
    cout<<nCount<<endl;
    //对x < 4;进行取反,也就是x >= 4的个数;
    nCount = count_if(ar, ar+n, not1(bind2nd(less<int>(), 4)));//用的是取反器进行取反;
    cout<<nCount<<endl;


    return 0;
}

运行结果

函数适配器

名称栏目:函数适配器
URL标题:https://www.cdcxhl.com/article0/pissio.html

成都网站建设公司_创新互联,为您提供移动网站建设网站制作网站设计公司网站排名App开发小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发