仿函数(functor)又称为函数对象(function object)是一个能行使函数功能的类。仿函数的语法几乎和我们普通的函数调用一样,不过作为仿函数的类,都必须重载operator()运算符
静态多态之重载运算符
,举个例子:
#include<iostream>
use namespace std;
class Func{
public:
void operator() (const string& str) const {
cout<<str<<endl;
}
};
//Func myfunc("asd");声明和初始化不分开,编译器报错
Func myFunc;
myFunc("helloworld!");