第五章、关联容器 5.0、关联容器 标准的STL关联式容器分为set(集合)和map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和multimap(多键映射表)。这些容器的底层机制均以RB-tree(红黑树)完成。RB-tree也是一个独立容器,但并不开放给外界使用。 SGIS ...
分类:
编程语言 时间:
2019-12-25 01:42:39
阅读次数:
98
看了书和老师的讲解,这里大体说一下自己对迭代器和萃取技术的理解。 迭代器它是C++标准模板库里面的智能指针(smart pointer),由于STL设计时并不是以OOP思想为指导,而是以GP,所以让容器与算法分离实际,这么做的好处是可以让各个模块的设计者无需去关系其他模块的实现,从而专心于自己的模块 ...
分类:
其他好文 时间:
2019-12-14 16:05:34
阅读次数:
95
STL的中心思想在于:将数据容器与算法分开,独立设计,再用一帖粘着剂将它们撮合在一起。而扮演粘着剂这个角色的就是迭代器。容器和算法泛型化,从技术角度来看并不困难,C++的模板类和模板函数可分别达成目标,但如何设计出两者之间良好的粘着剂,才是大难题。 我们可以来尝试一下自己设计一个迭代器,看途中会遇到 ...
分类:
其他好文 时间:
2019-10-21 20:40:56
阅读次数:
102
关联容器1、关联容器与顺序容器的本质区别在于,关联容器是按键key存储和读取元素且按key有序存放,而顺序容器则是按容器中的位置来访问元素,顺序至于加入容器的先后相关。
2、map存储key-value的pairpair p(v1,v2);//构造给定值的pair
make_pair(v1,v2);//以函数make_piar构造pair6、map是key_value的集...
分类:
编程语言 时间:
2015-04-05 09:08:57
阅读次数:
203
迭代器迭代器源于指针而高于指针,并成为分割容器与算法的一条界河.在一个共同的迭代器界面约定之下,不同的算法与不同的容器只要其迭代器要求一致就可以相互组合.迭代器分类c++标准库中对迭代器进行了详细的分类,迭代器按其所能提供的操作,可以分为五种类型,分别为: 输入迭代器(input iterator....
分类:
其他好文 时间:
2014-10-09 01:56:57
阅读次数:
278
STL实践与分析--容器特有的算法 与其他顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必只依赖于泛型操作。其中很大的一个原因就是list容器不是按照内存中的顺序进行布局的,不支持随即访问,这样,在list容器上就不能使用随即访问迭代器的算法,如sort等;还有其他的一些算法如:merge、remove、reverse和unique,虽然可以用在list上,但却...
分类:
编程语言 时间:
2014-04-27 21:45:04
阅读次数:
474