仿函数定义:
仿函数,即函数对象,一种具有函数特性的对象,这种对象在被调用时可以像函数一样被调用,但是以对象内operator()(括号操作符)所定义的函数来扮演函数的实质角色。
仿函数作用:
STL算法里面如sort这个算法有两个版本的调用,一种是普通版本,只有两个参数。一种额外增加了一个参数,这个参数可以让用户指定如何来比较两个对象的大小,这个比较的过程可能会比较复杂,这个就需要一个函数来实现,可以把函数指针或者用仿函数作为算法的一个参数。但是函数指针没法搭配STL其它组件如适配器。仿函数可以通过继承一元仿函数(unary_function)和二元仿函数(binary_function)来实现可适配性。这两个类没有成员,只有一些型别定义。任何仿函数,只要依个人需求选择继承其中一个class,便自动拥有了那些相应型别,也就自动拥有了配接能力。