C++里面的伪函数(函数对象)其实就是一个类重载了()运算符,这样类的对象在使用()操作符时,看起来就像一个函数调用一样,这就叫做伪函数。
class Hello{ public: void operator()() //第一个()表示操作符,第二个表示函数参数列表 { cout<<"hello"<<endl; } }; int main() { Hello h; h(); //伪函数,其实h是一个类对象,看起来像函数 }
我们可以用函数对象,作为函数回调,把对象传给其他的应用程序,由其他应用程序来执行它,可以把一个类当做一个函数来对待,这样就非常的方便。