标准库function类型的使用

简介: 14.44编写一个简单的桌面计算器使其能处理二元运算。 #include #include #include #include using namespace std; int add(int a,int b) { return a+b; } struct d...

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;
}

运行结果:

相关文章
|
8月前
|
数据安全/隐私保护
【Azure Function App】PowerShell Function 执行 Get-AzAccessToken 的返回值类型问题:System.String 与 System.Security.SecureString
将PowerShell Function部署到Azure Function App后,Get-AzAccessToken返回值类型在不同环境中有差异。正常为SecureString类型,但部分情况下为System.String类型,导致后续处理出错。解决方法是在profile.ps1中设置环境变量$env:AZUREPS_OUTPUT_PLAINTEXT_AZACCESSTOKEN=false,以禁用明文输出。
227 1
|
JSON C# 数据格式
【Azure Function】C#独立工作模式下参数类型 ServiceBusReceivedMessage 无法正常工作
Cannot convert input parameter 'message' to type 'Azure.Messaging.ServiceBus.ServiceBusReceivedMessage' from type 'System.String'.
337 73
|
SQL 关系型数据库 MySQL
SQL编程【MySQL 01】拆分列字段为行并根据类型翻译字段 > 1305 - FUNCTION x.help_topic_id does not exist 报错问题
SQL编程【MySQL 01】拆分列字段为行并根据类型翻译字段 > 1305 - FUNCTION x.help_topic_id does not exist 报错问题
421 0
echarts-中的事件-- demo1.on('事件类型', function (params) {}
echarts-中的事件-- demo1.on('事件类型', function (params) {}
echarts-中的事件-- demo1.on('事件类型', function (params) {}
|
JavaScript Go
《JS原理、方法与实践》- JS function 类型对象
《JS原理、方法与实践》- JS function 类型对象
239 0
|
XML Java 数据格式
JSP标签库Taglib之自定义function篇,轻松实现日期格式化
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/78121046 一、什么是Taglib? 如果你曾使用JSP页面来作为渲染视图的话,我相信你对JSTL标签库一定不会感到陌生。
1290 0
|
JavaScript 前端开发 C#
|
PHP
连接数库失败could not find driver Fatal error: Call to a member function prepare() on a non-object in D:\AppServ\www\xsphp_code\brophp\bases\dpdo.class.php
解决方法: 编辑使用的 php.ini, 找到下面扩展并去掉注释打开扩展即可extension=php_pdo.dllextension=php_pdo_mysql.dllextension=php_pdo_pgsql.
1242 0

热门文章

最新文章