首页 > 代码库 > C++ 函数对象

C++ 函数对象

C++中有一种类叫函数对象又称仿函数,到底什么是函数对象呢?

其实函数对象就是一个类实现了括号操作符重载,即称为函数对象、仿函数,因为它的对象可以像使用一个函数一样来使用。

 1 #include <iostream> 2 using namespace std; 3  4 class Square 5 { 6 public: 7     int operator()(int x) const { return x * x; } 8 }; 9 10 int main(int argc, char **argv)11 {12     int y = 0;13     Square s;14     y = s(5);15 16     cout << y << endl;17     return 0;18 }

上面代码中的Sqare类就是一个函数对象,可以看到它的对象可以像函数一样被使用。