真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

find_if(),plus,for_each()的用法

1、STL算法--find_if()

專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)德化免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

(1)、代碼如下:

#include
#include
#include
#include
using namespace std;

template
class IsDiv{
    public:
        IsDiv(const Type &divisor){
            this->divisor = divisor;
        }   

        bool operator()(Type &t){
            return t%divisor == 0;
        }   
    protected:
    private:
        Type divisor;
};

int main(void){
    vector v2; 

    for(int i = 10; i < 33; i++){
        v2.push_back(i);
    }   
    int a = 4;
    IsDiv myDiv(a);

    //find_if(v2.begin(), v2.end(), myDiv);
    vector::iterator it;
    it =find_if(v2.begin(), v2.end(), IsDiv(a) );
    if(it == v2.end()){
        cout<<"容器中沒有值是4的元素"<

(2)、運(yùn)行結(jié)果:

find_if(),plus,for_each()的用法

2、STL算法--plus的使用

(1)、代碼如下:

#include
#include
#include
#include
using namespace std;

//plus 預(yù)定義好的函數(shù)對象,能實(shí)現(xiàn)不同數(shù)據(jù) + 算法;
//實(shí)現(xiàn)了數(shù)據(jù)類型和算法的分離======》通過函數(shù)對象技術(shù)實(shí)現(xiàn)的;
//
//思考,怎么知道plus是2個參數(shù)------>多看看源碼;
void main21(){
    plus intAdd;
    int x = 10;
    int y = 20;

    int z = intAdd(x, y);
    cout<<"z:"< stringAdd;

    string s1 = "aaa";
    string s2 = "bbb";
    string s3 = stringAdd(s1, s2);
    cout<<"s3:"< v1;
    v1.push_back("bbb");
    v1.push_back("aaa");
    v1.push_back("ccc");
    v1.push_back("zzz");
    v1.push_back("ccc");
    v1.push_back("ccc");

    sort(v1.begin(), v1.end(), greater()); //降序排列;
    vector::iterator it;
    for(it = v1.begin(); it != v1.end(); it++){
        cout<<*it<有2個參數(shù),left參數(shù)來自容器,right參數(shù)來自sc,
    //bind2nd就是函數(shù)適配器:把預(yù)定義函數(shù)對象和第二個參數(shù)進(jìn)行綁定;`
    int num = count_if(v1.begin(), v1.end(), bind2nd(equal_to(), sc));
    cout<<"num:"<

(2)、運(yùn)行結(jié)果:

find_if(),plus,for_each()的用法

3、STL算法--for_each()

(1)、代碼如下:

#include
#include
#include
#include
using namespace std;

void printV(vector &v){
    vector::iterator it;

    for(it = v.begin(); it != v.end(); it++){
        cout<<*it<<" ";
    }
    cout< v1;
    v1.push_back(1);
    v1.push_back(3);
    v1.push_back(5);

    printV(v1);

    //第三個參數(shù)是:函數(shù)對象/回掉函數(shù)
    //for_each(v1.begin(), v1.end(), showElem);  //利用的是回調(diào)函數(shù) 
    for_each(v1.begin(), v1.end(), MyShow()); //利用的是函數(shù)對象(這個類中重載了())
    //函數(shù)的返回值是函數(shù)對象
    cout<

(2)、運(yùn)行結(jié)果:

find_if(),plus,for_each()的用法

4、for_each()和transform()的區(qū)別

(1)、代碼如下:

#include
#include
#include
#include
using namespace std;

void showElem(int &n){
    cout< v1; 
    v1.push_back(1);
    v1.push_back(3);
    v1.push_back(5);
    
    vector v2 = v1; 

    for_each(v1.begin(), v1.end(), showElem);
    transform(v2.begin(), v2.end(), v2.begin(), showElem2);//transform對回調(diào)函數(shù)的要求;返回值必須有
    cout<

運(yùn)行結(jié)果:

find_if(),plus,for_each()的用法


分享標(biāo)題:find_if(),plus,for_each()的用法
文章轉(zhuǎn)載:http://weahome.cn/article/gcodsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部