zoukankan      html  css  js  c++  java
  • 标准库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;
    }

    运行结果:

  • 相关阅读:
    一个自动化测试工具 UI Recorder
    通俗理解http2.0
    IE 问题集合
    webpack
    性能工具集合
    网络 问题
    css命名规范
    ajax 总结
    CSS深入理解学习笔记之relative
    jQuery插件开发通用框架
  • 原文地址:https://www.cnblogs.com/wuchanming/p/3944544.html
Copyright © 2011-2022 走看看