1、
函数对象:这里已经说明了这是一个类对象,而且实际上只是这个对象具有的函数的某些功能,我们才称之为函数对象,意义很贴切,如果一个对象具有了某个函数的功能,我们变可以称之为函数对象。
如何使对象具有函数功能呢,很简单,只需要为这个对象的操作符()进行重载就可以了,如下:
class A{
public:
int operator()(int x){return x;}
};
A a;
a(5);
这样a就成为一个函数对象,当我们执行a(5)时,实际上就是利用了重载符号()。
2、
函数指针
参考:C++函数指针和仿函数