9顺序容器

9顺序容器

为程序员提供控制元素存储和访问顺序的能力。

9.1顺序容器概述

9顺序容器_第1张图片
9顺序容器_第2张图片

9.2容器库概览

头文件和名字一样,模板类,要提供元素类型信息。可以保存另外一种容器。

9顺序容器_第3张图片
9顺序容器_第4张图片
9顺序容器_第5张图片

9.2.1迭代器

9顺序容器_第6张图片

9.2.4容器定义和初始化

9顺序容器_第7张图片

标准库array

初始化要给类型和大小

列表初始化,初始值的数目必须小于或等于array的大小。

Array弥补了数组不能拷贝或赋值操作,它可以赋值和拷贝。

9.2.5赋值和swap

9顺序容器_第8张图片

也可以认为只是交换了名字,看源码去验证。

9.2.7关系运算符

两个运算对象必须是相同类型的容器

9顺序容器_第9张图片

最后一条解释:两个不等长的容器,比较第一个不等的元素的大小来确定大小

9.3顺序容器操作

9.3.1添加元素

9顺序容器_第10张图片
9顺序容器_第11张图片

使用emplace操作

Insert和push实际拷贝传参,而emplace的是将传参传递给构造函数,在容器管理的内存空间中直接构造元素。

9.3.2访问元素

访问成员函数返回的是引用

9顺序容器_第12张图片

9.3.3删除元素

9顺序容器_第13张图片

9.3.4特殊的forward_list操作

Forward_list是一个单向列表so

9顺序容器_第14张图片

9.3.5改变容器的大小

9顺序容器_第15张图片

9.3.6容器操作可能是迭代器失效

9顺序容器_第16张图片

不要保存end返回的迭代器,而是不断更新end迭代器

9.4vector对象是如何增长的

9顺序容器_第17张图片

Capacity和size

Size是容器中元素的数量

Capacity是容器的大小

9.5额外的string操作

9顺序容器_第18张图片

9.5.1构造string的其他方法

9顺序容器_第19张图片

9.5.2改变string的其他方法

9顺序容器_第20张图片
9顺序容器_第21张图片

改变string的多种重载函数

9.5.3string搜索操作

9顺序容器_第22张图片
9顺序容器_第23张图片

9.5.4compare函数

9顺序容器_第24张图片

9.5.5数值转换

9顺序容器_第25张图片

9.6容器适配器(就是换成相应的栈、队列、优先队列)

9顺序容器_第26张图片

定义一个适配器

Deque  deq;

Stack  std(deq);

可在某种容器上实现适配器

栈适配器

9顺序容器_第27张图片

队列适配器

9顺序容器_第28张图片

你可能感兴趣的:(9顺序容器)