C++ 学习之内建函数对象 - 算术仿函数(加减乘除、取反、取余)

2023-10-29

算数仿函数原型:

  • template<class T> T plus<T> //加法仿函数
  • template<class T> T minus<T> //减法仿函数
  • template<class T> T multiplies<T> //乘法仿函数
  • template<class T> T divides<T> //除法仿函数
  • template<class T> T modulus<T> //取模仿函数
  • template<class T> T negate<T> //取反仿函数

这些仿函数所产生的对象,用法和一般函数完全相同
使用内建函数对象,需要引入头文件 #include<functional>

#include<iostream>
#include<algorithm>
#include<functional>//包含内建函数对象的头文件
using namespace std;


//取反,一元运算,即需要一个参数
void test01()
{
	negate<int> n;
	cout << n(100) << endl;//输出 -100
}

//加 减 乘 除  取余 ,二元运算,即需要两个参数
void test02()
{
	//加法
	plus<int> p;
	cout << p(100,20) << endl;//输出120

	//减法
	minus<int> min;
	cout << min(100, 20) << endl;//输出80

	//乘法
	multiplies<int> mul;
	cout << mul(100, 20) << endl;//输出2000

	//除法
	divides<int> div;
	cout << div(100, 20) << endl;//输出5

	//取模运算(取余)
	modulus<int> mod;
	cout << mod(100, 23) << endl;//余数为8
}

int main()
{
	//test01();
	test02();

	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 学习之内建函数对象 - 算术仿函数(加减乘除、取反、取余) 的相关文章

随机推荐

  • Java中判断两个类是否相等

    Java中判断两个类是否相等 当有参数的类生成对象时 当两个对象给的参数相同时 会将第二个对象指向第一个对象的地址 如实例中展示 会输出true public class test1 public static void main Stri
  • GLSL 程序与使用

    核心模式OpenGL GLSL程序 GLSL程序简介和在QT中向GLSL程序变量传递数据 数据类型 包含基本数据类型 int float double uint bool 两种容器类型 向量 Vector 标识符 含义 vecn n个flo
  • 宏任务与微任务

    首先执行顺序 同步任务 gt 异步任务 异步任务又分为 宏任务与微任务 所以整个顺序为 同步任务 gt 微观任务 gt 宏观任务 微观任务大概有Promise then Object observe MutationObserver pro
  • shinelon笔记本进bios设置u盘启动_系统重装U盘启动进BIOS按键查询

    点击蓝字 关注我们 总的来讲 设置电脑从U盘启动一共有两种方法 第一种是开机时候按快捷键然后选择U盘启动 第二种进Bios然后设置U盘 PART ONE 一 U盘启动 组装机主板 品牌笔记本 品牌台式机 主板品牌 启动按键 笔记本品牌 启动
  • WIN32_FIND_DATA、FILETIME、FindFirstFile对文件的操作

    WIN32 FIND DATA FILETIME对文件的操作 include stdafx h include
  • 解决Agora声网音视频在后台没有声音的问题

    前言 本文会介绍 Android 与 iOS 两个平台的处理方式 一 Android高版本在应用退到后台时 系统为了省电会限制应用的后台活动 因此我们需要开启一个前台服务 在前台服务中发送常驻任务栏通知 以此来保证App 退到后台时不会被限
  • 一篇文章看懂Oracle开窗函数

    聚合类开窗函数 聚合类开窗函数类似分组函数group by中的sum avg count max min 等等 但是开窗函数不会像分组聚合函数一样按照分组返回结果 而是有多少行记录就返回多少个结果 结果输出的形式是单独一列进行输出 举个例子
  • mqtt安卓客户端

    1 MQTT 消息队列遥测传输协议 是一种基于 发布 订阅 publish subscribe 模式的 轻量级 通讯协议 该协议构建于TCP IP协议上 MQTT最大优点在于 可以以极少的代码和有限的带宽 为连接远程设备提供实时可靠的消息服
  • 在职场中比能力更重要是什么?

    一个人能力很重要 但是比能力更重要的是一个人的人品 如果一个人的人品有问题 那么很难给予重任 如果只有能力 没有人品 人就会残缺不全 人品决定态度 态度决定行为 行为决定着最后的结果 没有一个公司会愿意重用一个人品欠缺的人 那么比能力更重要
  • 针对Java文档的搜索引擎

    针对Java文档的搜索引擎 项目介绍 项目模块划分及分析 1 索引模块 Parser 类核心业务 Index 核心业务 多线程制作索引 2 搜索模块 分词 生成描述 停用词 3 Web模块 展示 项目介绍 本项目是一个基于SpringBoo
  • CTFshow-菜狗杯-misc(1-6)

    杂项签到 flag直接放入16进制文件 用winhex工具打开直接搜ctfshow就可以了 ctrl F调出搜索框 注意选择ASCII编码 不是unicode 损坏的压缩包 更改文件类型 使用winhex打开 发现是png的格式特征 将文件
  • TASK9 Boosting

    Boosting PAC学习 概率近似正确学习 PAC总结理论 同等条件下 模型越复杂泛化误差越大 同一模型在样本满足一定条件的情况下 其数量越大 模型泛化误差越小 因此还可以说模型越复杂越吃样本 某个训练样本对正确目标的映射 而称为 概念
  • Microsoft Dynamics CRM 2013 试用之系统篇 正式安装 Microsoft Dynamics CRM Server 2013

    想学习Microsoft Dynamics CRM 建议从本人博客CRM中从早到晚日期 完整看一遍 然后再安装 安装需要的文件直接到微软官方下载 1 下载 Microsoft Dynamics CRM Server 2013 2 运行 Se
  • 深度学习语音降噪总结

    实时语音通信发展到今天 用户对通话语音质量提出了越来越高的要求 由于终端设备的多样性以及使用场景的差异 声音问题依然存在 传统的音频处理技术从声音信号本身出发 挖掘其时频特性 作出假设 建立物理模型 很多参数都需要人工进行精细化微调 比较费
  • can only concatenate list (not "str") to list 解决

    我的代码 info item title n item content n 写python代码出现这个提示的时候 can only concatenate list not str to list 该提示字面意思是 只能将list类型和li
  • ubuntu 相关命令记录

    检查ssh 是否可用 ssh 安装curl apt install curl 进入root 进入root 账号 sudo i 修改密码 sodo passwd 开启root 可远程连接 修改SSH配置文件 可以通过SSH配置文件更改包括端口
  • git clone出错问题解决

    一 git clone 报错 错误截图如下 原因分析 可能是数据太大了 http协议不支持 二 改用ssh方式检出代码 第一步 Git Bash工具生成ssh key ssh keygen o t rsa C your email exam
  • 江河湖库水系连通及水美乡村监测系统解决方案

    一 方案背景 随着我国城市规模化的扩张 城市水系统面积萎缩 水生态系统衰退 水环境质量恶化 河道淤塞甚至被侵占为建筑用地等问题日益凸显 河湖水系连通在城市河道治理中占据举足轻重的位置 水系连通及水美乡村建设项目 是水利部 财政部为解决农村水
  • JavaScript 算法系列---动态规划

    很久之前接触过这样一道题目 总共有十层阶梯 从1层开始往上爬 每次可以上1层或者2层 问到10层总共有多少种方法 思路 这个问题就是动态规划的一个经典例子 所谓动态规划 就是把复杂的问题进行拆解 拆解成一个个子问题 而这类问题最后非常适合使
  • C++ 学习之内建函数对象 - 算术仿函数(加减乘除、取反、取余)

    算数仿函数原型 template