文章目录
-
-
- 仿函数
-
- 定义
- 作用;
-
- code
- bind
-
- 定义
- 作用
- code
- bind+function
-
- 功能
- code
-
仿函数
定义
类模版 std::function 实例化对象,作用相当于函数的功能
可以包装除了类成员函数之外的所有可调用对象。包括,普通函数,函数指针, lambda,仿函数
std:function<retType(argType,argType,…)>
作用;
- 实现接口统一
- 实现回调函数
code
- 统一接口
#include <iostream>
#include <functional>
#include <map>
using namespace std;
// 统一接口 可以包装函数 仿函数 lambada 函数指针
int add(int i,int j)
{
return i + j;
}
int min(int i, int j)
{
return i - j;
}
typedef int(*Min)(int x, int y);
class Div
{
public:
int operator()(int x,int y) {
return x/y;
}
};
int main()
{
// function 模板
// function<int,int> 类
// +
auto op = function<int(int,int)>(add);
cout<<op(1,2)<<endl;
// -
Min mi = min;
op = function<int(int