STL适配器的初步理解
2024-08-25 11:49:16
c++中的适配器有三种:容器适配器,迭代器适配器,函数适配器。下面一一介绍:
1.容器适配器:因为这些容器都是基于其他标准容器实现的所以叫做容器的适配器,具体的有stack,queue,priority_queue,默认的情况下,stack和queue基于deque而实现的,,priority_queue在vector上实现的,可以根据第二个实参指定容器的类型,但一定要符合标准,queue要求要有push_front操作因此不能建立在vector上面,priority_front要求有随机访问的功能,因此建立在vector上面。优先级队列默认情况下是大顶堆,也就是大者优先级高,后面可以自定义优先级比较规则
2.迭代器适配器:包括三种reverse(逆向)适配器,insert(安插型)迭代器,stream(串流)适配器。reverse适配器:如rbegin(),rend()等。
insert迭代器:是一种迭代器适配器,带有一个容器参数,并生成一个迭代器,提供了三种插入器back_inserter(容器),front_inserter(容器),inserter(容器,位置)。
stream适配器:如ostream_iterator,istream_iterator。
3.函数适配器,用于扩展一元和二元函数对象,如functor 函数对像等等。用于容器与算法之前的操作时使用。
最新文章
- 什么是JS事件冒泡?
- patch 打补丁,和diff 生成制作补丁
- SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
- Android开发艺术探索读书笔记——01 Activity的生命周期
- web api post传一个参数时 值永远是null
- JavaScript中递归函数用法需要注意的
- MySQL主从同步报Client requested master to start replication from position
- CDH5.5.1 安装Spark ON Yarn环境
- 【HDOJ】3007 Buried memory
- 批量将MP4 转换为 MP3
- MyBatis+Spring 事务管理
- char和int的转换
- webapi拦截请求
- 2016-09-06 J2EE基础知识之不知
- VMware vSphere学习整理
- Sublime text3所遇到的问题
- Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
- 【jpa】spring data jpa 配置使用
- whereis命令详解
- ubuntu14.04 安装jdk1.8及以上