class Mars
{
private:
    int num ;
public:
    Mars(int _num):num(_num){}
    bool operator ()(int inum)
    {
        return inum < num ;
    }
};

template <typename P>
bool DoBool(vector<int>& v,P pred)
{

    v.erase(remove_if(v.begin(),v.end(),pred ),v.end())  ;
}

int main()
{
    Mars m(100) ;
    vector<int> v ;

    v.emplace_back(98) ;
    v.emplace_back(99) ;
    v.emplace_back(100) ;
    v.emplace_back(101) ;
    v.emplace_back(10) ;

    v.erase(remove_if(v.begin(),v.end(),Mars(99) ),v.end())  ;

    for(int i=0;i<v.size();i++)
        cout << v[i] << endl ;

    v.emplace_back(98) ;
    v.emplace_back(99) ;
    v.emplace_back(100) ;
    v.emplace_back(101) ;
    v.emplace_back(10) ;

    DoBool(v,m) ;

    cout << "===================================" << endl ;
    for(int i=0;i<v.size();i++)
        cout << v[i] << endl ;
}

Ans :

99
100
101
===================================
100
101
100
101

 

arrow
arrow
    全站熱搜

    hedgezzz 發表在 痞客邦 留言(0) 人氣()