心胸决定格局,眼界决定境界...

仿函数

所谓仿函数是一个定义了operator()的对象。

其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。

 

C++

在C++里,我们通过在一个类中重载括号运算符的方法使用一个函数对象而不是一个普通函数。
class compare_class
{
bool operator()(int A, int B)const{return A < B;}
};
 
int main()
{
int items[]={4, 3, 1, 2};
compare_class functor;
sort_ints(items, sizeof(items)/sizeof(items[0]), functor);
}
 
template<class ComparisonFunctor>
void sort_ints(int* begin_items, int num_items, ComparisonFunctor c);
posted @ 2015-09-20 23:02  WELEN  阅读(123)  评论(0)    收藏  举报