C++标准库分析总结(十)——<仿函数/函数对象>-创新互联

目录

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站设计、太湖网络推广、小程序定制开发、太湖网络营销、太湖企业策划、太湖品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供太湖建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

1.functor仿函数简介   

2 仿函数的分类

3 仿函数使用

4 仿函数可适配的条件






1.functor仿函数简介   
  • 仿函数是STL中最简单的部分,存在的本质就是为STL算法部分服务的,一般不单独使用。
  • 仿函数(functors)又称为函数对象(function objects),虽然函数指针虽然也可以作为算法的参数,但是函数指针不能满足STL对抽象性的要求,且无法和STL其他组件搭配
  • 仿函数就是使一个类的使用看上去像一个函数,其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了,本质就是类重载了一个operator(),创建一个行为类似函数的对象。
  • 对于重载了()操作符的类,可以实现类似函数调用的过程,所以叫做仿函数,实际上仿函数对象仅仅占用1字节,因为内部没有数据成员,仅仅是一个重载的方法而已。
  • 实际上可以通过传递函数指针实现仿函数类似的功能,但是为了和STL内部配合使用,他提供了仿函数的特性。

2 仿函数的分类

标准库目前提供了约有24个仿函数,分为算数类、逻辑运算类、相对关系类。

3 仿函数使用

下图中myclass是我们自己写的仿函数,但是由于没有继承仿函数的公共父类,所以就不能融入到STL中。

4 仿函数可适配的条件

如果我们要自己写仿函数,并且融入到STL中, 就必须继承两个中的一个父类(两个操作符的父类或者一个操作符的父类),只有继承了才能被适配器去修饰和改造。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:C++标准库分析总结(十)——<仿函数/函数对象>-创新互联
URL网址:http://pwwzsj.com/article/degghd.html