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>()) ;
作者:zdd
出处:http://www.cnblogs.com/graphics/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.