C ++組み込み関数のSTLオブジェクト

算術関手関係数子ロジックファンクタ:いくつかは内蔵されSTL関数オブジェクト

使用法:

これらはファンクタ生成されたオブジェクト、および一般的な使用機能は同一です。

<機能> <include>の組み込み関数オブジェクトはヘッダ#を含める必要が使用します

まず、算術ファンクタ

#include <iostreamの>
 使用して 名前空間STD; 
の#include <機能> // 組み込み関数オブジェクトヘッダファイル

// 組み込み算術関数オブジェクトファンクタ

// Oネゲート1元ネゲートファンクタファンクタ
ボイドTEST01()
{ 
    Oネゲート < 整数 > N-、

    COUT(<< N- 50)<< ENDL; 
} 

// PLUS加算器バイナリファンクタ
ボイドTEST02()
{ 
    PLUS < INT > P; 

    COUT << P(1020)<< ENDL; 
} 

int型メイン(){ 

    TEST01()。

    TEST02(); 

    システム(一時停止)。

    リターン 0 ; 
}

第二に、ファンクタとの関係

#include <iostreamの>
 使用して 名前空間STDと、
の#include <ベクトル> 
の#include <アルゴリズム> 
の#include <機能> // 組み込み関数オブジェクト関係ファンクタ_  
 // 大より大きいクラスMyCompare 
{ パブリックBOOLの演算子()(INT V1 、INT V2)
    { 戻り V1> V2; 
    } 
}; ボイドTEST01()
{ 
    ベクトル < INT > V; 
    v.push_back(10 )。




 
        



    v.push_back(30 )。
    v.push_back(40 )。
    v.push_back(20 )。
    v.push_back(50 )。

    以下のための(ベクトル< int型!;それ= v.end();> ::イテレータそれは= v.begin()それ++ 
    { 
        coutの << *それを<< "  " ; 
    } 
    COUT << ENDL。

    // 降序
     // ソート(v.begin()、v.end()、MyCompare());
    // 大きい<整数>()内建函数对象 
    ソート(v.begin()、v.end()、大きい< int型 > ());
    以下のためのベクター(<int型 > ::イテレータそれは)(v.beginを=。!それ= v.end(); それ++ 
    { 
        coutの << *それ<< "  " ; 
    } 
    COUT << ENDL。

} 

int型のmain(){ 

    TEST01()。

    システム(一時停止)。

    リターン 0 ; 
}

3.ロジック数子

書式#include <iostreamの>
 使用して 名前空間はstdを、
#include <ベクトル> 
の#include <アルゴリズム> 
の#include <機能> // 内建函数对象_逻辑仿函数
 // 逻辑非logical_not ボイドTEST01()
{ 
    ベクトル < BOOL > V。
    v.push_back(真の); 
    v.push_back(); 
    v.push_back(真の); 
    v.push_back(); 以下のための(ベクトル< ブール!;;それ= v.end()それ++> ::イテレータそれは= v.begin() 
        COUT





     
    {* << << "  " ; 
    } 
    COUT << ENDL; 

    //は、容器V2、Vに論理NOT輸送容器を使用し、否定演算を行う 
    ベクトル< BOOL > V2; 
    v2.resize(v.size()) ; 

    (v.begin()、v.end()、v2.begin()、logical_not変換 < BOOL > ())は、

    のために(ベクトル< BOOL > :: = v2.begin ITイテレータ();! = V2 ITは.END(); IT ++ 
    { 
        COUT << * IT << "  " ; 
    } 
    COUT << ENDL; 

} 


int型のmain(){

    TEST01(); 

    システム(一時停止)。

    リターン 0 ; 
}

おすすめ

転載: www.cnblogs.com/xiximayou/p/12112483.html