书法字典:https://www.shufadict.com

functor in STL

函数对象,又叫仿函数,是STL六大组件之一

一个函数对象是某个类的对象,这个类必须重载运算符().

使用函数对象必须包含头文件functional

下面是一个加法函数对象的例子

plus<int> add ;
int r = add.operator ()(1, 2) ;
cout << r << endl ; // Print 3

当然,更简单且直观的写法是

int r = add(1, 2) ;

仿函数经常用在一些算法中,比如下面这个sort函数使用less这个函数对象进行升序排序

int a[10] = {1, 10, 3, 9, 5, 7, 4, 8, 6, 2} ;
vector<int> v(a, a + 10) ;
sort(v.begin(), v.end(), less<int>()) ;

posted on 2010-08-05 11:21  翰墨小生  阅读(116)  评论(0编辑  收藏  举报

导航

书法字典:https://www.shufadict.com