C++ ——— 仿函数
目录
何为仿函数
仿函数和模板的配合使用
何为仿函数
代码演示:
class Add
{
public:
int operator()(int x, int y)
{
return x + y;
}
};
这是一个 Add 类,类里面有一个公有成员函数重载,重载的是括号
那么调用的时候:
Add add;
cout << add(3, 5) << endl;
调用 Add 类中的函数重载时,就像是 add 是一个函数名,而括号中是参数,但是并不是如此
add 是一个类,第二行调用的本质是:
cout << add.operator()(3, 5) << endl;
代码验证:
类似于这种类而调用的函数重载的形式就叫做仿函数
仿函数和模板的配合使用
代码演示:
template<class T>
class Add
{
public:
T operator()(const T& x, const T& y)
{
return x + y;
}
};
这时的仿函数就能根据不同的变量来使用
代码验证: