首页 > 代码库 > 标准库function类型的使用
标准库function类型的使用
14.44编写一个简单的桌面计算器使其能处理二元运算。
#include<iostream>#include<map>#include<functional>#include<string>using namespace std;int add(int a,int b){ return a+b;}struct divide{ int operator()(int denominator,int divisor) { return denominator/divisor; }};auto mode=[](int i,int j) { return i%j;};int main(){ int (*pf)(int,int)=add; map<string,function<int(int,int)>> binops; binops.insert({"+",add}); binops.insert({"+",pf}); binops.insert({"-",minus<int>()}); binops.insert({"*",[](int i,int j) {return i*j;}}); binops.insert({"/",divide()}); binops.insert({"%",mode}); cout<<binops["+"](1,3)<<endl; cout<<binops["-"](2,5)<<endl; cout<<binops["*"](1,2)<<endl; cout<<binops["/"](4,2)<<endl; cout<<binops["%"](4,2)<<endl; return 0;}
运行结果:
标准库function类型的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。