- 关联容器的类型
- 定义关联容器
- pair
- 关联容器的类型别名
set的解引用是常量,
- 添加元素
map和set适合关键字不存在才插入,不会更改关键字的值。你可以随便取出一个元素的值,也可以随便删除,但不能随便修改,因为红黑树也就平衡树的特性决定了修改特别麻烦,改变了值,他们关联的位置也不再有效
- 删除元素
迭代器P指向尾元素是说最后一个元素,它的下一个元素当然就是end
- 查找元素 查找元素返回的都是迭代器,换言之,都是指针
不小于就是大于等于
- 无序容器 插入或删除一个元素的时间复杂度是O1,常量非常快
- 如何输出末尾不带空格的一组容器元素
还得是下标 直接其取值恐怕有重复
- 如何去重
- 为甚莫需要map
- 我们可以用数组模拟映射关系,数组下标表示编号,值保存成绩,但是像大学里的学号就要开很大的数组
- map就像Python里面万能的字典列表
有时候也叫关联数组
- insert
将元素添加到末尾——插入迭代器,看起来是迭代器实际上是pushback
- 文件流迭代器 不会用
最大的方便是使输入输出流变成迭代器,也能通用泛型算法,例如copy
- 在彻底了解文件流迭代器之前,再探迭代器
-
在需要迭代器参数的时候用插入器,插入器构造需要一个容器如vector做底子
- 流迭代器的分类
与前向迭代器不同的是输入输出流是线性易逝的,一次性的,只能迭代一遍,输入了就没了,但是前向迭代器可以反反复复地扫
- 容器不是迭代器!容器提供迭代器!
-
- 链表成员操作
- 空间配置器
- 用new分配内存,用delete释放内存?
- 移动后,未使用的内存是否应该被构造
内存的分配和构造应该分离
- 内存的一块一块整体分配,如果pop一个元素,是否应该释放一个内存?实际上你根本没办法释放。所以对象析构和内存释放应该分开
- new和delete一定区分不开同时
- 程序设计者想自己搞一套内存管理办法
- 空间配置器就提供这个统一的接口
被弃用现在参见traits STL源码剖析