摘要: 简介 很明显,这两个头文件分别是map、set头文件对应的unordered版本。 所以它们有一个重要的性质就是: 乱序 如何乱序 这个unorder暗示着,这两个头文件中类的底层实现 Hash 。 也是因为如此,你才可以在声明这些unordered模版类的时候,传入一个自定义的哈希函数,准确的说是 阅读全文
posted @ 2017-01-26 12:22 lgxZJ 阅读(10602) 评论(0) 推荐(1) 编辑
摘要: 简介 头文件包含 set 、 multiset 两个类模版,这里要描述的概念与map非常相似,甚至连成员函数都几乎一样,所以这篇随笔会很短。 ![][set image] set set如果翻译成中文应该是集合的意思,这里更确切的说是 唯一有序集合 ,性质与map类似: 关联性 元素唯一性 动态增长 阅读全文
posted @ 2017-01-25 09:52 lgxZJ 阅读(4266) 评论(0) 推荐(1) 编辑
摘要: 简介 该头文件包含两个概念相似的容器 map 、 multimap 。 而这两个容器反映的概念就是 映射 。 这两个容器 相同 的属性有: 关联性 映射 动态增长 键(Key)唯一性 这两个 不相同 的属性是: 映射关系 ![][maps image] 容器类别 既然说到关联性容器,自然得说说标准库 阅读全文
posted @ 2017-01-24 10:58 lgxZJ 阅读(9454) 评论(0) 推荐(0) 编辑
摘要: 简介 vector头文件包含 vector 的类模版以及该模版的显示特化版本 vector 。 vector是C++容器库中非常通用的一种容器,如果你不知道该决定使用哪一种容器,或者没有足够的理由使用其它容器,那么就用它,没错的! 从整体上来看,vector就像是一种动态数组,它拥有数组的所有功能并 阅读全文
posted @ 2017-01-23 11:43 lgxZJ 阅读(3934) 评论(0) 推荐(0) 编辑
摘要: 简介 forwrad_list字面意思为 前向列表 ,但实际上它是一种单向列表,只能从单一方向遍历。 ![][forward_list image] 单向链表实现 forward_list内部是用单向列表实现的,并且设计该库的时候就是 以近乎手写的单向链表的运行效率(时间上和空间上)为目的 的。 这 阅读全文
posted @ 2017-01-22 10:55 lgxZJ 阅读(2174) 评论(0) 推荐(0) 编辑
摘要: 简介 list实现的实际上是 双向链表 ,所以叫它doubly linked list也许更好。 因为实现的是双向链表,所以它有两个非常重要的性质: 双向 链表 ![][list image] 双向 双向意味着 给定一个元素,我们能够知道后一个元素和前一个元素。 而这在单项链表里是不可能实现的,因为 阅读全文
posted @ 2017-01-18 15:28 lgxZJ 阅读(5943) 评论(0) 推荐(0) 编辑
摘要: 简介 该头文件只含有一个类模版stack, 它实现 栈 的概念,是一个 容器适配器 (说实话,在写这篇随笔之前我都不知道有这么个类模版)。 栈 栈只有一个重要的特性: LIFO ( last in first out ): 后入栈的元素先出栈。 栈有两个典型的操作 入栈 和 出栈 ,一般来说我们认为 阅读全文
posted @ 2017-01-16 15:29 lgxZJ 阅读(1862) 评论(0) 推荐(0) 编辑
摘要: 简介 这个头文件定义了两个跟队列有关的类 quque、priority_queue ,分别实现的是 队列 和 优先队列 这两个概念。 但是与这两个类模版与其它类模版(vector、array等)最大的不同是,它们是 容器适配器 。 容器适配器 顾名思义,容器适配器是对容器的 适配 ,从代码层面来讲, 阅读全文
posted @ 2017-01-15 18:51 lgxZJ 阅读(5065) 评论(0) 推荐(0) 编辑
摘要: 简介 deque是 d ouble e nded que ue(即双端队列)的简称。 就像C++中的 大部分 容器的一样,deque具有以下属性: 顺序的(sequence) 动态增长的(dynamic growing) 自定义内存分配的(allocator aware) 动态内存分配 容器的顺序性 阅读全文
posted @ 2017-01-13 16:04 lgxZJ 阅读(3149) 评论(0) 推荐(0) 编辑
摘要: 注意,该头文件仅在C++11中标准才开始出现。 简介 与语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性: 顺序的(sequence) 内存连续的(contiguous storage) 固定大小的(fixed size) 那既然与内置数组一样,为什么还要定义这样一个模版呢?C+ 阅读全文
posted @ 2017-01-11 16:29 lgxZJ 阅读(6115) 评论(0) 推荐(1) 编辑