STL算法--------函数对象
1.预定义的函数对象
2.自定义的函数对象
3.容器和函数对象
4.算法和函数对象
#include <iostream>
#include <set>
#include <algorithm>
#include <vector>
using namespace std;
void Print( int elem )
{
cout<<elem<<" ";
}
//函数对象
class PrintInt{
public:
void operator() (int elem) const
{
cout<< elem <<' ';
}
};
int main()
{
set<int, greater<int> > a;
set<int, less<int> > b;
a.insert(9);
a.insert(3);
a.insert(8);
a.insert(1);
a.insert(5);
for(set<int,greater<int> >::const_iterator itr = a.begin(); itr != a.end(); ++itr)
{
cout<<*itr<<endl;
}
vector<int> ivec;
for( int i=0; i<9; ++i )
{
ivec.push_back(i);
}
//algorithm
for_each(ivec.begin(), ivec.end(), Print);
cout<<endl;
for_each(ivec.begin(), ivec.end(), PrintInt() );
cout<<endl;
return 0;
}

浙公网安备 33010602011771号