<pre name="code" class="cpp">#include <iostream>
#include <string.h>
#include <sys/types.h>
using namespace std;
class FunObj
{
public:
void operator()()
{
cout<<"hello world\n";
}
void operator()(int n)
{
cout<<n<<endl;
}
};
int main(void)
{
FunObj fo;
fo();
fo(4444);
FunObj()();
return 0;
}
#include <map>
#include <string>
#include <iostream>
using namespace std;
struct MyGreater
{
bool operator()(int left ,int right)
{
return left > right;
}
};
int main(void )
{
map<int,string,MyGreater> mapTest;
mapTest.insert(map<int,string>::value_type(1,"aaaa"));
mapTest.insert(map<int,string>::value_type(3,"cccc"));
mapTest.insert(map<int,string>::value_type(2,"bbbb"));
for(map<int,string>::const_iterator ite = mapTest.begin();ite != mapTest.end();ite++)
{
cout<<ite->first<<"-->"<<ite->second<<endl;
}
return 0;
}
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void PrintFun(int n)
{
cout<<n<<' ';
}
void Add3(int &n)
{
n += 3;
}
class PrintObj
{
public:
void operator()(int n)
{
cout<<n<<" ";
}
};
class AddObj
{
public:
AddObj(int number):number_(number)
{
}
public:
void operator()(int &n)
{
n+=number_;
}
private:
int number_;
};
class GreaterObj
{
public:
GreaterObj(int number):number_(number)
{
}
public:
bool operator()(int n)
{
return n > number_;
}
private:
int number_;
};
int main(void)
{
int a[] = {1,2,3,4,5};
vector<int> v(a,a+5);
for_each(v.begin(),v.end(),PrintFun);
cout<<endl;
for_each(v.begin(),v.end(),Add3);
cout<<endl;
for_each(v.begin(),v.end(),PrintObj());
cout<<endl;
for_each(v.begin(),v.end(),AddObj(213131));
for_each(v.begin(),v.end(),PrintObj());
cout<<endl;
cout<<count_if(a,a+5,GreaterObj(3))<<endl;
return 0;
}
函数对象
最新推荐文章于 2024-01-05 08:12:22 发布