标准库function类型的小例子

来源:互联网 发布:南京java工资一般多少 编辑:程序博客网 时间:2024/06/04 18:43
#include<iostream>#include<functional>#include<string>#include<map>using namespace std;int add(int a,int b){return a+b;}struct divide{int operator()(int a,int b){return a/b;}};int main(){auto mod=[](const int&a,const int&b){return a%b;};map<string,function<int(int ,int)>>calculate;//map<string,(int*)(int,int)>仅仅适用于函数指针calculate["+"]=add;//函数指针calculate["/"]=divide();//函数对象calculate["*"]=[](const int& a,const int& b){return a*b;};//lamdacalculate["-"]=minus<int>();//标准库函数对象calculate["%"]=mod;int a=7,b=2;cout<<calculate["+"](a,b)<<endl<<calculate["/"](a,b)<<endl<<calculate["*"](a,b)<<endl<<calculate["-"](a,b)<<endl<<calculate["%"](a,b)<<endl;system("pause");}

0 0
原创粉丝点击