11.内建函数对象_算数、关系、逻辑仿函数

2024-04-08 04:52

本文主要是介绍11.内建函数对象_算数、关系、逻辑仿函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 算数仿函数
        • 代码工程
        • 运行结果
      • 关系仿函数
        • 代码工程
        • 运行结果
      • 逻辑仿函数
        • 代码工程
        • 运行结果

算数仿函数

需要添加#include<functional>头文件使用

代码工程
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<functional>using namespace std;/*其中negate是一元运算,其他的事二元运算*//*1.加法仿函数 - plus*/
/*2.减法仿函数 - minus*/
/*3.乘法仿函数 - multiplies*/
/*4.除法仿函数 - divides*/
/*5.取模仿函数 - modulus*/
/*6.取反仿函数 - negate*/void test01()
{/*1.加法仿函数*/plus<int>s;cout << "plus 相加" << "\t" << s(20, 10) << endl;/*2.减法仿函数 - minus*/minus<int>m;cout << "minus 相减" << "\t" << m(20, 10) << endl;/*3.乘法仿函数 - multiplies*/multiplies<int>mu;cout << "multiplies 相乘" << "\t" << mu(20, 10) << endl;/*4.除法仿函数 - divides*/divides<int>d;cout << "divides 相除" << "\t" << d(20, 10) << endl;/*5.取模仿函数 - modulus*/modulus<int>mod;cout << "modulus 取模" << "\t" << mod(20, 10) << endl;/*6.取反仿函数 - negate*/negate<int>neg;cout << "negate 取反" << "\t" << neg(20) << endl;return;
}int main()
{test01();return 0;
}
运行结果

在这里插入图片描述

关系仿函数

需要添加#include<functional>头文件使用

代码工程
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<functional>
#include<algorithm>using namespace std;/*1.等于     - equal_to	    */
/*2.不等于	 - not_equal_to */
/*3.大于     - greater	    */
/*4.大于等于 - greater_equal*/
/*5.小于     - less			*/
/*6.小于等于 - less_equal	*/void printVector(vector<int>&v)
{for (int i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;
}void test01()
{vector<int>v;v.push_back(50);v.push_back(10);v.push_back(40);v.push_back(30);v.push_back(60);v.push_back(20);printVector(v);/*使用greater仿函数,完成降序操作*/sort(v.begin(), v.end(), greater<int>());printVector(v);return;
}int main()
{test01();return 0;
}
运行结果

在这里插入图片描述

逻辑仿函数

需要添加#include<functional>头文件使用

代码工程
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<functional>
#include<algorithm>using namespace std;/*1.与 - logical_and*/
/*2.或 - logical_or */
/*3.非 - logical_not*/void printVector(vector<bool>&v)
{for (int i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;
}void test01()
{vector<bool>v;v.push_back(true);v.push_back(true);v.push_back(true);v.push_back(true);printVector(v);/*利用逻辑非,将容器v的元素 搬运 到容器v1中,并执行取反操作*/vector<bool>v1;v1.resize(v.size());transform(v.begin(), v.end(), v1.begin(), logical_not<bool>());printVector(v1);return;
}int main()
{test01();return 0;
}
运行结果

在这里插入图片描述

这篇关于11.内建函数对象_算数、关系、逻辑仿函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884619

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip