伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

C++函數(shù)對(duì)象count_if

 
   標(biāo)準(zhǔn)庫里的count_if可以統(tǒng)計(jì)容器中滿足特定條件的元素的個(gè)數(shù)。例如要統(tǒng)計(jì)一個(gè)整數(shù)vector——ivec中正數(shù)的個(gè)數(shù),可以先寫一個(gè)返回類型為bool,含有一個(gè)int參數(shù)的條件函數(shù): bool pred(int val)...{
    return val>0;
}
    之后可以用count_if(ivec.begin(),ivec.end(),pred)計(jì)算出正整數(shù)的個(gè)數(shù)。但這個(gè)方法有一個(gè)明顯的缺陷:如果要統(tǒng)計(jì)大于10的個(gè)數(shù)、大于100的個(gè)數(shù)……就要寫很多個(gè)類似的函數(shù),能不能進(jìn)一步抽象?如果能像這樣調(diào)用count_if:count_if(ivec.begin(),ivec.end,pred(n)),就能統(tǒng)計(jì)出容器里大于n的個(gè)數(shù),那該多好呀。函數(shù)對(duì)象提供了這樣一種機(jī)制。

    簡單地說,函數(shù)對(duì)象就是一個(gè)重載了()運(yùn)算符的對(duì)象,它可以像一個(gè)函數(shù)一樣使用。例如這個(gè)Add類:

class Add...{
    public:
        int operator()(int v1, int v2)...{
            return v1+v2;
        }
};    它能夠進(jìn)行加法運(yùn)算。例如: int a1=3,a2=1;
Add add;
cout<<add(a1,a2)<<endl;
    結(jié)果將是4。那么這種機(jī)制怎樣用在剛才的問題上呢?因?yàn)閏ount_if的第三個(gè)參數(shù)是一個(gè)接受一個(gè)參數(shù)的函數(shù),所以可以通過一個(gè)構(gòu)造函數(shù)將這個(gè)參數(shù)傳到對(duì)象里,由count_if自動(dòng)調(diào)用這個(gè)函數(shù)對(duì)象:

class Pred...{
    private:
        int _val;
    public:
        Pred(int val):_val(val)...{}
        bool operator()(int val)...{
            return val>_val;
        }
};
    于是,要統(tǒng)計(jì)大于100的個(gè)數(shù),就可以寫成:count_if(ivec.begin(),ivec.end(),Pred(100))。Pred(100)構(gòu)造一個(gè)函數(shù)對(duì)象,count_if把這個(gè)對(duì)象依次應(yīng)用到容器中的每一個(gè)元素,只要它返回一個(gè)真值,計(jì)數(shù)器就加1,新疆軟件開發(fā)網(wǎng)搜集整理 www.zgna.net

    如果再利用模板技術(shù),則可以應(yīng)用到各種類型的容器上:

template<typename T>
class Pred...{
    private:
        T _val;
    public:
        Pred(T val):_val(val)...{}
        bool operator()(T val)...{
            return val>_val;
        }
};  這樣,剛才的統(tǒng)計(jì)語句就應(yīng)該寫成:count_if(ivec.begin(),ivec.end(),Pred<int>(100))。如果容器是double類型的,只需把尖括號(hào)里的int換成double即可。

作者:未知 | 文章來源:未知 | 更新時(shí)間:2007-11-19 18:09:08

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    j2se 嵌入式腳本抓取引擎
    NET Framework 2.0 Service Pack 2下載地址
    軟件開發(fā)中項(xiàng)目經(jīng)理有那些職責(zé)
    解析.NET中的6各大的安全錯(cuò)誤
    .NET中Boolean,bool以及String,string之間的區(qū)別
    “七分選型,三分軟件”的ERP法則
    在VC 程序中自定義Vista事件日志
    .Net FrameWork 2.0 新增功能 Bulk Copy
    教程:.Net多線程和Windows Forms編程
    語法C# 問關(guān)鍵字之:base、this
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗(yàn)證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項(xiàng)目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項(xiàng)目經(jīng)理有那些
    ·學(xué)習(xí)如何在Lambda表達(dá)式進(jìn)
    ·C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實(shí)現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補(bǔ)了一部分java的
    ·rss定制的另外一種實(shí)現(xiàn)方式
    ·delphi實(shí)現(xiàn)利用arp欺騙來實(shí)
    ·基礎(chǔ)學(xué)習(xí):基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計(jì)
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    四子王旗| 仙居县| 荣昌县| 宜章县| 满洲里市| 宣汉县| 江达县| 湖口县| 双辽市| 阿合奇县| 车致| 阿拉善盟| 循化| 宜昌市| 德阳市| 新乐市| 温泉县| 当涂县| 南木林县| 盐城市| 岑巩县| 集贤县| 南安市| 菏泽市| 西乌珠穆沁旗| 山阳县| 沽源县| 房山区| 姚安县| 民勤县| 大理市| 德兴市| 桐庐县| 台安县| 高清| 永城市| 东山县| 新余市| 永康市| 太和县| 剑川县|