标准模板库-容器

2023-05-16

标准模板库STL(Standard Template Libarary)是一个标准类与函数模板的库。

STL包含容器、容器适配器、迭代器、算法、函数对象和函数适配器。

容器

用来存储和组织其他对象的对象。

T是存储在容器中的元素类型的模板类型形参。

K是键的类型。

分配器

大多数STL容器会自动增大其容量来容纳所需存储的元素,这些容器的附加内存用一个名为分配器的对象来提供。分配器一般会在需要时分配堆上的内存。

vector<T>模板实际上是一个vector<T,A<T>>模板,A<T>就是分配器类型,第二个形参的默认值是allocator<T>。

分配器必须用类型形参定义为一个类模板。例如,My_Allocator<T>是自定义的类模板:

比较器

一些容器使用比较器对象来确定容器中元素的顺序。例如,map<K,T>容器模板:

 allocator<pair<K,T>>是 键/对象 对的分配器,compare是一个函数对象类型,用作K类型的键的比较器

容器的适配器

迭代器

容器适配器不支持迭代器。

可以从用来访问以前存储的对象的容器中获取一个迭代器,也可以创建一些迭代器。

迭代器的类别

详细了解:icon-default.png?t=M4ADhttps://docs.microsoft.com/zh-cn/cpp/standard-library/iterator?view=msvc-170

SCARY迭代器

只有一个类型依赖存储在容器中的元素的类型,但不依赖从其模板中实例化容器所使用的其他参数,例如分配器和比较器类型。

返回迭代器的函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准模板库-容器 的相关文章

随机推荐

  • ROS探索总结(十五)——amcl(导航与定位)

    在理解了move base的基础上 xff0c 我们开始机器人的定位与导航 gmaping包是用来生成地图的 xff0c 需要使用实际的机器人获取激光或者深度数据 xff0c 所以我们先在已有的地图上进行导航与定位的仿真 amcl是移动机器
  • 关于ROS学习的一些反思

    距离发布上一篇ROS的博客已经过去两年了 xff0c 才发现原来自己已经这么久可没有写过关于ROS的文章 xff0c 想来很是惭愧 这两年时间 xff0c 自己怀着程序员的梦想 xff0c 研究过RTOS xff0c 探索过Linux xf
  • ROS探索总结(十八)——重读tf

    在之前的博客中 xff0c 有讲解tf的相关内容 xff0c 本篇博客重新整理了tf的介绍和学习内容 xff0c 对tf的认识会更加系统 1 tf简介 1 1 什么是tf tf是一个让用户随时间跟踪多个参考系的功能包 xff0c 它使用一种
  • ROS探索总结(十二)——坐标系统

    在机器人的控制中 xff0c 坐标系统是非常重要的 xff0c 在ROS使用tf软件库进行坐标转换 相关链接 xff1a http www ros org wiki tf Tutorials Learning tf 一 tf简介 我们通过一
  • qt切换设置多个ui界面的两种方式

    qt切换多个ui界面的两种方式 这是本人写的第一篇问文章 xff0c 有什么问题请大家多多批评指正 话不多说 xff0c 进入正文 xff1a 老师最近接了一个自来水管检漏的项目 xff0c 需要制作上位机来接收传感器传来的数据 于是果断选
  • firebird数据库安装连接的一些常见错误及解决方法

    firebird数据库安装连接的一些常见错误及解决方法 最近有一个需求是把数据库里面的数据提取出来 xff0c 这个数据库的后缀是 fdb xff0c 查阅资料可知应该是firebird数据库的文件 xff0c 可是firebird数据库是
  • PX4与Gazebo、ROS/MAVROS以及QGC地面站之间的通信

    PX4与Gazebo ROS MAVROS以及QGC地面站之间的通信 一 整体框架 ROS xff08 机器人操作系统 xff09 可用于PX4和Gazebo模拟器 它使用MAVROS MAVLink节点与PX4通信 ROS Gazebo与
  • 四旋翼飞行器控制模型公式推导

    四旋翼飞行器控制模型 为便于建立模型 xff0c 现对四旋翼飞行器进行以下假设 xff1a 1 四旋翼飞行器是均匀对称的刚体 2 四旋翼飞行器的质量和转动惯量不发生改变 3 四旋翼飞行器的几何中心与其重心重合 4 四旋翼飞行器只受重力和螺旋
  • java中几种读取配置文件的方法

    java读取 properties配置文件的几种方法 xff08 1 xff09 Properties类读取 Properties类继承自Hashtable类并且实现了Map接口 xff0c 也是使用一种键值对的形式来保存属性集 不过Pro
  • Java项目分层

    MVC模式 在实际的开发中有一种项目的程序组织架构方案叫做MVC模式 xff0c 按照程序 的功能将他们分成三个层 xff0c 如下图 xff1a Modle层 xff08 模型层 xff09 View层 xff08 显示层 xff09 C
  • 简单介绍控制理论(经典、现代)

    1 经典和现代的区别和联系 xff08 1 xff09 区别 研究对象 经典控制系统一般局限于单输入单输出 线性定常系统 主要分为开环控制系统和闭环控制系统 严格的说 xff0c 理想的线性系统在实际中并不存在 实际的物理系统 xff0c
  • 框架中<include>**/*.xml</include>配置解释

    在mybatis Spring SpringMVC SpringBoot等框架的配置文件中经常会使用到如下代码 xff1a lt resource gt lt directory gt src main java lt directory
  • 反转单链表的几种方式对比(包括双指针法和递归)

    需求 xff1a 给你单链表的头节点 head xff0c 请你反转链表 xff0c 并返回反转后的链表 方式一 xff1a 双指针法 建立一个虚拟节点 class Solution public ListNode reverseList
  • 正则表达式 ^$ 同时出现代表什么

    与 同时出现在正则前后表示什么 xff1f 脱字符 xff1a 匹配开头 xff0c 若存在多行匹配多行的行头 美元符 xff1a 匹配尾部 xff0c 若存在多行匹配多行的尾部 同时写时只是限制字符的起点与终点 xff0c 比如 xff1
  • 设置虚拟机为固定IP,避免每次启动虚拟机都会分配新的IP地址

    采用一种最简单的方式 xff0c 通过修改配置文件来指定IP xff0c 并可以连接到外网 要求 xff1a 将IP地址配置为静态的 xff0c 比如设固定IP地址为192 168 117 131 打开文件 etc sysconfig ne
  • 我的2014--众人皆醉我独醒

    转眼间大学两年过去了 xff0c 舍友们还在撸游戏 xff0c 有的也找到了另一半的归属 我是我宿舍唯一一个不玩电脑游戏的人 xff0c 当然 xff0c 不是不玩游戏就代表着成绩很好 xff0c 也不代表玩游戏就不好 xff0c 但意味着
  • Java多线程通信-利用传统的线程通信wait(),notify()方法实现“生产者消费者模式”

    想利用传统的线程通信wait notify xff0c notifyAll 方法 xff0c 必须依赖于同步监听器的存在 xff0c 也就是说 xff0c 对于synchronized修饰的同步方法 xff0c 因为该类的默认实例 xff0
  • java TCP/IP实现简单的多人聊天功能

    TCP IP是可靠的网络协议 xff0c 数据的传输需要服务端和客户端之间三次 握手 xff0c 比较适合文本等一些可靠性要求高的数据传输 xff0c 但是它的效率较UDP低 下面通过一张图来简要说明使用 ServerSocket 创建 T
  • 死锁面试题(什么是死锁,产生死锁的原因及必要条件)

    什么是死锁 xff1f 所谓死锁 xff0c 是指多个进程在运行过程中因争夺资源而造成的一种僵局 xff0c 当进程处于这种僵持状态时 xff0c 若无外力作用 xff0c 它们都将无法再向前推进 因此我们举个例子来描述 xff0c 如果此
  • 标准模板库-容器

    标准模板库STL Standard Template Libarary 是一个标准类与函数模板的库 STL包含容器 容器适配器 迭代器 算法 函数对象和函数适配器 容器 用来存储和组织其他对象的对象 T是存储在容器中的元素类型的模板类型形参