93.STL-系统内置仿函数

这篇具有很好参考价值的文章主要介绍了93.STL-系统内置仿函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       

目录

 算术仿函数

关系仿函数 

逻辑仿函数 


        C++ 标准库中提供了一些内置的函数对象,也称为仿函数,它们通常位于 <functional> 头文件中。以下是一些常见的系统内置仿函数:

 算术仿函数

功能描述:

  • 实现四则运算
  • 其中negate是一元运算,其他都是二元运算

仿函数原型:

  • 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 <iostream>
#include <functional>

using namespace std;

int main() {
	plus<int> m;//加法仿函数
	cout << m(10,20) << endl;

	minus<int> m1;//减法仿函数
	cout << m1(20, 10) << endl;

	multiplies<int> m2;//乘法仿函数
	cout << m2(20, 10) << endl;

	divides<int> m3;//除法仿函数
	cout << m3(20, 10) << endl;

	modulus<int> m4;//取模仿函数
	cout << m4(20, 8) << endl;

	negate<int> m5;//取反仿函数
	cout << m5(20) << endl;

	return 0;
}

 93.STL-系统内置仿函数,C++,c++,开发语言

关系仿函数 

功能描述:

  • 实现关系对比

仿函数原型:

  • template<class T> bool equal_to<T> //等于
  • template<class T> bool not_equal_to<T> //不等于
  • template<class T> bool greater<T> //大于
  • template<class T> bool greater_equal<T> //大于等于
  • template<class T> bool less<T> //小于
  • template<class T> bool less_equal<T> //小于等于
void test01()
{
	vector<int> v;
	v.push_back(10);
	v.push_back(30);
	v.push_back(50);
	v.push_back(40);
	v.push_back(20);
	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
	//自己实现仿函数
	//sort(v.begin(), v.end(), MyCompare());
    //STL内建仿函数 大于仿函数
	sort(v.begin(), v.end(), greater<int>());//大于
	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
}
int main() {
	test01();
	system("pause");
	return 0;
}

 93.STL-系统内置仿函数,C++,c++,开发语言

逻辑仿函数 

功能描述:

  • 实现逻辑运算

函数原型:

  • template<class T> bool logical_and<T> //逻辑与
  • template<class T> bool logical_or<T> //逻辑或
  • template<class T> bool logical_not<T> //逻辑非
void test01()
{
	vector<bool> v;
	v.push_back(true);
	v.push_back(false);
	v.push_back(true);
	v.push_back(false);
	for (vector<bool>::iterator it = v.begin(); it != v.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
	//逻辑非 将v容器搬运到v2中,并执行逻辑非运算
	vector<bool> v2;
	v2.resize(v.size());
	transform(v.begin(), v.end(), v2.begin(), logical_not<bool>());
	for (vector<bool>::iterator it = v2.begin(); it != v2.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}
int main() {
	test01();
	system("pause");
	return 0;
}

93.STL-系统内置仿函数,C++,c++,开发语言 

 写在最后:以上就是本篇文章的内容了,感谢你的阅读。如果感到有所收获的话可以给博主点一个赞哦。如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~  文章来源地址https://www.toymoban.com/news/detail-758292.html

到了这里,关于93.STL-系统内置仿函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go开发使用bee工具生成beego框架工程代码、运行web项目以及beego中内置模板函数列表

        GO开发中使用bee工具生成beego框架工程代码,在这之前假定你已经成功安装好了Beego环境搭建和bee工具,Windows下Beego环境搭建和bee工具的安装使用_bee命令 windows-CSDN博客 然后在命令行或者在git bash中进入到GOPATH的src目录,执行bee new 工程名称,来生成一个beego框架工程目录:

    2024年04月29日
    浏览(26)
  • php内置函数-文件包含的函数

    目录 1.include 2.require  3.include_once 4. require_once 可以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去,通常用于动态包含。 如下,我建两个 php 文件,一个写有函数声明的文件,一个函数调用的文

    2024年01月15日
    浏览(30)
  • 【python基础语法七】python内置函数和内置模块

    eval 和 exec 在和第三方用户交互时候,谨慎使用; 应用不一样: json主要用于传输 转换关系 localtime = mktime = ctime

    2024年02月01日
    浏览(37)
  • C语言【函数、作用域、常用系统函数】

    一、函数 1、函数的声明 ​自定义函数如果放在main函数之后,需要声明函数才可以访问到。如果未声明,则编译器会自动补一个返回类型未int类型的声明,这样以来,如果自定义函数返回值不为int,会报错。 ​结论:记得加函数声明。 2、函数的传值和传址。 todo 3、函数的

    2024年02月05日
    浏览(31)
  • go 内置函数copy()

    当我们在Go语言中需要将一个切片的内容复制到另一个切片时,可以使用内置的 copy() 函数。 copy() 函数用于将源切片中的元素复制到目标切片中,它有以下形式的签名: 其中, dst 是目标切片, src 是源切片, T 是切片元素的类型。函数返回一个整数值,表示实际复制的元素

    2024年02月14日
    浏览(33)
  • Kotlin理解内置函数

    Kotlin 内置函数包括: let 、 run 、 with 、 apply 、 also ,这些函数都是在 Any 类中定义的扩展函数,所以任何对象都可以调用这些函数。 apply 是 Kotlin 标准库中的一个函数,它允许您在调用对象的上下文中执行一系列操作,并返回该对象本身。这在构建对象的过程中非常有用,

    2024年02月13日
    浏览(30)
  • [MySQL]MySQL内置函数

    常用日期函数如下: 函数名称 描述 current_date() 获取当前日期 current_time() 获取当前时间 current_timestamp() 获取当前时间戳 now() 获取当前日期时间 date(datetime) 获取datetime参数的日期部分 date_add(date, interval d_value_type) 在date中添加日期或时间,interval后的数值单位可以是:year、mon

    2024年02月15日
    浏览(30)
  • Python常用内置函数

    Python实用教程_spiritx的博客-CSDN博客 Python 提供丰富了内置函数,这些函数的使用频率非常用,在编程过程中熟练使用内置函数可以大大减少我们的代码逻辑和代码量。 Python 解释器内置了很多函数和类型,任何时候都能使用。这些内置函数直接使用,是不需要导入库的。 - 函

    2024年02月10日
    浏览(43)
  • 【Python】内置函数

    数据类型 4 bool([x]) 定义: 将给定参数转换为布尔类型,如果没有参数,返回 False。 int((x, base=10) 定义: 将一个字符串或数字转换为整型。 参数说明: x – 字符串或数字。 base – 进制数,默认十进制。 float([x]) 定义: 将整数和字符串转换成浮点数。 complex([real[, imag]]) 定义

    2024年02月06日
    浏览(28)
  • Spark SQL 内置函数

    1、10类内置函数 Spark SQL内置了大量的函数,位于API org.apache.spark.sql.functions中。这些函数主要分为10类:UDF函数、聚合函数、日期函数、排序函数、非聚合函数、数学函数、混杂函数、窗口函数、字符串函数、集合函数,大部分函数与Hive中相同。 2、两种使用方式 使用内置函

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包