函數(shù)適配器

1、綁定器和取反器

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于做網(wǎng)站、網(wǎng)站制作、黃南州網(wǎng)絡推廣、小程序定制開發(fā)、黃南州網(wǎng)絡營銷、黃南州企業(yè)策劃、黃南州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供黃南州建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:muchs.cn

  (1)、綁定器:把二元函數(shù)對象中一個參數(shù)固定,使之轉(zhuǎn)為一元函數(shù),C++標準庫中提供了2種預定義的binder適配器,bind1st、bind2nd,分別綁定了第一個/第二個參數(shù);

  (2)、取反器:翻轉(zhuǎn)的適配器;

  (3)、一元函數(shù):只針對一個參數(shù),只有一個返回值;

  二元函數(shù):針對2個參數(shù),只有一個返回值;

  (4)、綁定器針對的是參數(shù),綁定后其值就不變了,取反器對其進行取反;

  (5)、可以通過調(diào)試工具-g;對源碼進行剖析;

2、代碼實現(xiàn)

關(guān)于綁定器和取反器的代碼:

#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);//求數(shù)組中一共有多少個4
    cout<<nCount<<endl;
    //x <= 4;的個數(shù)
    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的個數(shù);
    nCount = count_if(ar, ar+n, not1(bind2nd(less<int>(), 4)));//用的是取反器進行取反;
    cout<<nCount<<endl;


    return 0;
}

運行結(jié)果

函數(shù)適配器

名稱欄目:函數(shù)適配器
URL標題:http://muchs.cn/article0/pissio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)網(wǎng)站制作、網(wǎng)站設(shè)計公司網(wǎng)站排名、App開發(fā)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)