包装适配器的使用
头文件:
#include<functional>function<Ret(Args...)>;Ret: 被调用函数的返回类型,Args…:被调用函数的形参
////包装器,适配器 #include<functional> //function<Ret(Args...)>;Ret: 被调用函数的返回类型,Args…:被调用函数的形参 //普通函数 int add(int x, int y) { return x + y; } //仿函数 struct addd { int operator()(int x,int y) { return x + y; } }; int main() { //function<int(int, int)>是一个类型名 //function<int(int, int)>()创建该类型临时对象的表达式 decltype(std::function<int(int, int)>()) func4 = add; cout<<func4(10, 20)<<endl; // 返回30 function<int(int, int)>func1 = [](int x, int y) {return x + y; };//lambda cout<<func1(1, 2)<<endl; function<int(int, int)>func2 = add;//普通函数 cout<<func2(1, 2)<<endl; function<int(int, int)>func3 = addd();//仿函数 cout << func3(2, 3) << endl; return 0; }