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ù)適配器
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)