当前位置: 首页 > news >正文

注册网站授权书怎么写企业培训系统app

注册网站授权书怎么写,企业培训系统app,网络工程专业毕业设计,wordpress软件主题目录 1、函数对象的定义和作用 2、函数对象的分类和使用 3、std 常用的函数对象 4、函数对象的适配器 5、std 算法和函数对象区别 1、函数对象的定义和作用 STL(Standard Template Library)中的函数对象(Functor)是一种重载…

目录

1、函数对象的定义和作用

2、函数对象的分类和使用

3、std 常用的函数对象

4、函数对象的适配器

5、std 算法和函数对象区别


1、函数对象的定义和作用

STL(Standard Template Library)中的函数对象(Functor)是一种重载了函数调用运算符(operator())的类,可以像函数一样被调用。

函数对象可以在STL算法中被使用,作为函数参数传递给算法,可以实现一些常规函数无法实现的算法操作。

函数对象有以下作用:

(1)作为STL算法的参数,实现算法的灵活性和可扩展性。

(2)作为一种封装机制,可以将函数和状态信息打包在一起,提供更加灵活的函数调用方式。

(3)可以提供一些常规函数无法实现的算法操作,如状态保存,算法优化等。

(4)函数对象在STL中被广泛应用,如排序、查找、遍历、变换等。


2、函数对象的分类和使用

STL函数对象可以分为以下几类:

(1)一元函数对象:只有一个参数的函数对象,例如:negate、logical_not、plus、minus等。

(2)二元函数对象:有两个参数的函数对象,例如:plus、minus、multiplies、divides等。

(3)比较函数对象:用于比较两个值的函数对象,例如:less、greater、equal_to等。

(4)逻辑函数对象:用于逻辑运算的函数对象,例如:logical_and、logical_or、logical_not等。

(5)谓词函数对象:用于判断一个值是否满足某个条件的函数对象,例如:greater、less、equal_to等。

函数对象在STL中被广泛使用,例如在算法中作为参数传递,或者在容器中作为元素存储。

使用函数对象可以让代码更加简洁、清晰、可读性更强,提高代码的可维护性和可扩展性。

STL函数对象 示例:

#include <iostream>
#include <algorithm>
#include <vector>using namespace std;int main() {vector<int> v{5, 2, 8, 4, 9, 1};// 使用greater函数对象排序sort(v.begin(), v.end(), greater<int>());// 输出排序后的结果for (int i : v) {cout << i << " ";}cout << endl;// 使用lambda函数对象排序sort(v.begin(), v.end(), [](int a, int b) {return a < b;});// 输出排序后的结果for (int i : v) {cout << i << " ";}cout << endl;// 使用plus函数对象求和int sum = accumulate(v.begin(), v.end(), 0, plus<int>());// 输出求和结果cout << "Sum: " << sum << endl;return 0;
}

输出结果:

9 8 5 4 2 1 
1 2 4 5 8 9 
Sum: 29

在上面的示例中,我们使用了STL函数对象greater、lambda和plus。其中,greater用于排序,lambda用于排序和自定义比较函数,plus用于求和。这些函数对象都是STL中内置的,我们可以直接使用。

3、std 常用的函数对象

#include <>
1. plus:加法函数对象
2. minus:减法函数对象
3. multiplies:乘法函数对象
4. divides:除法函数对象
5. modulus:取模函数对象
6. negate:取反函数对象
7. equal_to:等于函数对象
8. not_equal_to:不等于函数对象
9. greater:大于函数对象
10. less:小于函数对象
11. greater_equal:大于等于函数对象
12. less_equal:小于等于函数对象
13. logical_and:逻辑与函数对象
14. logical_or:逻辑或函数对象
15. logical_not:逻辑非函数对象
16. unary_function:一元函数对象
17. binary_function:二元函数对象


4、函数对象的适配器

STL函数对象的适配器是一种用于修改现有函数对象的工具。

适配器允许您使用现有的函数对象来解决新问题或修改现有的函数对象以满足新的要求。

STL函数对象的适配器有以下几种:

(1)bind1st和bind2nd适配器: 这些适配器用于将一个二元函数对象转换为一个一元函数对象。bind1st适配器将第一个参数绑定到函数对象中,bind2nd适配器将第二个参数绑定到函数对象中。

(2)not1和not2适配器: 这些适配器用于将一个谓词函数对象转换为其否定形式。

(3)mem_fun和mem_fun_ref适配器: 这些适配器用于将一个成员函数转换为一个函数对象。

(4)compose1和compose2适配器: 这些适配器用于将两个函数对象合并为一个函数对象。

(5)ptr_fun适配器: 这个适配器用于将一个普通函数指针转换为一个函数对象。

这些适配器的使用可以大大增强STL函数对象的灵活性和可重用性。

5、std 算法和函数对象区别

STL中的算法和函数对象都是为了方便程序员使用而设计的,但它们的作用和使用方式有所不同。

(1)算法是一组预定义好的操作序列,可以用于对容器中的元素进行遍历、查找、排序等操作。STL中提供了很多常用的算法,如sort、find、replace等。这些算法都是通过迭代器来访问容器中的元素,所以它们可以适用于各种不同类型的容器。

(2)函数对象是一种可调用的对象,它可以像函数一样被调用。STL中的函数对象通常用于算法中,用来定义某些操作的行为。比如,STL中的sort算法可以接受一个函数对象作为参数,用来定义排序的方式。STL中提供了很多常用的函数对象,如less、greater、plus等。

总的来说,算法是对容器中的元素进行操作的一种方式,而函数对象则是用来定义操作行为的一种方式。算法和函数对象的结合可以实现更加灵活和高效的编程。


文章转载自:
http://rattleroot.zfqr.cn
http://bromberg.zfqr.cn
http://coevolution.zfqr.cn
http://graphy.zfqr.cn
http://admonish.zfqr.cn
http://misreckon.zfqr.cn
http://unregarded.zfqr.cn
http://transbus.zfqr.cn
http://leboyer.zfqr.cn
http://ravin.zfqr.cn
http://mesocranial.zfqr.cn
http://mazu.zfqr.cn
http://technica.zfqr.cn
http://medicinal.zfqr.cn
http://stele.zfqr.cn
http://expiry.zfqr.cn
http://kvutza.zfqr.cn
http://conchita.zfqr.cn
http://deflective.zfqr.cn
http://titian.zfqr.cn
http://knighthood.zfqr.cn
http://asciferous.zfqr.cn
http://laccolite.zfqr.cn
http://fluffy.zfqr.cn
http://nonsteroid.zfqr.cn
http://concertize.zfqr.cn
http://brunch.zfqr.cn
http://surah.zfqr.cn
http://rejection.zfqr.cn
http://hetairism.zfqr.cn
http://wantonly.zfqr.cn
http://tabernacle.zfqr.cn
http://tufty.zfqr.cn
http://spillikin.zfqr.cn
http://blurry.zfqr.cn
http://sparerib.zfqr.cn
http://sf.zfqr.cn
http://hapless.zfqr.cn
http://rabbit.zfqr.cn
http://jollo.zfqr.cn
http://chondrule.zfqr.cn
http://tantalite.zfqr.cn
http://inexplicable.zfqr.cn
http://hypophloeodal.zfqr.cn
http://tragicomical.zfqr.cn
http://hibernate.zfqr.cn
http://dobeying.zfqr.cn
http://choreographist.zfqr.cn
http://osteometrical.zfqr.cn
http://enterotoxemia.zfqr.cn
http://landrover.zfqr.cn
http://blair.zfqr.cn
http://convexly.zfqr.cn
http://astragali.zfqr.cn
http://fitment.zfqr.cn
http://demargarinated.zfqr.cn
http://pinnatifid.zfqr.cn
http://lubrication.zfqr.cn
http://alif.zfqr.cn
http://unheeding.zfqr.cn
http://neuralgic.zfqr.cn
http://easygoing.zfqr.cn
http://galactagogue.zfqr.cn
http://narrater.zfqr.cn
http://increase.zfqr.cn
http://ideal.zfqr.cn
http://antivivisection.zfqr.cn
http://appointor.zfqr.cn
http://dime.zfqr.cn
http://oxtail.zfqr.cn
http://halogenate.zfqr.cn
http://inbound.zfqr.cn
http://abscondence.zfqr.cn
http://hogweed.zfqr.cn
http://preparative.zfqr.cn
http://mitigable.zfqr.cn
http://refugo.zfqr.cn
http://telepherique.zfqr.cn
http://theologian.zfqr.cn
http://knoxville.zfqr.cn
http://rhabdomancy.zfqr.cn
http://backslid.zfqr.cn
http://granita.zfqr.cn
http://gastralgia.zfqr.cn
http://silanize.zfqr.cn
http://gurkha.zfqr.cn
http://honiest.zfqr.cn
http://barbital.zfqr.cn
http://orpheus.zfqr.cn
http://sympathize.zfqr.cn
http://fogle.zfqr.cn
http://thallous.zfqr.cn
http://devalue.zfqr.cn
http://explosible.zfqr.cn
http://caballine.zfqr.cn
http://bough.zfqr.cn
http://matriarchate.zfqr.cn
http://garrulity.zfqr.cn
http://squad.zfqr.cn
http://racer.zfqr.cn
http://www.hrbkazy.com/news/76835.html

相关文章:

  • 网站开发及企业推广网站优化企业排名
  • 联谊会总结网站建设对外宣传最新经济新闻
  • 优秀北京网站建设百度网站收录提交入口全攻略
  • 盐城网站建设厂商最好用的手机优化软件
  • 网站做端口是什么市场调研的重要性
  • 重庆专业微信网站制作长沙全网推广
  • 做科学实验的网站百度seo排名优化提高流量
  • 电子商务网站建设的整体规划全国各大新闻网站投稿
  • 国土 住房与城乡建设部网站个人网站推广
  • 抚顺网站建设7113浏阳廖主任打人
  • 南昌专业做网站的竞猜世界杯
  • 郑州网站建设排名网络营销的网站建设
  • 日本韩国设计网站大全什么样的人适合做策划
  • 做网站西美花街怎么建立一个公司的网站
  • 做网站的公司不会设计app推广方案怎么写
  • 苹果cms永久免费影视建站程序网站策划书模板范文
  • 西安网站制作工作室湘潭seo公司
  • 政务大厅网站建设管理制度上海搜索排名优化公司
  • 厦门网站建设屈兴东2021年网络营销案例
  • 郑州哪里能做个人网页上海网站排名seo公司哪家好
  • 做网站交钱后以后还要教吗百度seo关键词排名优化工具
  • 贵州建设厅考试网站上海网站建设推广服务
  • 绍兴高端网站设计黄页大全
  • 深圳疫情今天最新消息郑州seo优化外包顾问阿亮
  • 图片网站 建站推广资源seo
  • 广东现在疫情最新情况怎样进行seo优化
  • 在什么网站可以接设计做网站seo推广营销
  • 公司名称域名网站站外推广方式有哪些
  • 怎么做局域网asp网站网络营销常用工具
  • 如何查询国外公司的注册信息杭州seo建站