在家基本荒废了,如果再做什么自我批判,我都感到汗颜了。
基本什么没看,就昨今两天稍微看了点STL方面的东西,了解个框架,权且做个简单介绍吧。
C++中的STL(standard tempalte library标准模板库)常常和泛型编程在一起被谈到。确实,模板带来的通用性带来了很大的前景。
STL包含了容器类 Container,迭代子 Iterator,和算法 Algorithm三个部分。
一、 Container:管理序列的类,容纳一组对象或对象集的类;
1,顺序容器 Sequential container
参量vector
双端队列deque
列表list
2,关联容器 Associative Container
集合set
多重集合multiset
映射map
多重映射multimap
3,容器适配器Container Adapter
栈stack
队列queue
优先级队列priority_queue
二、 Iterator:面向对象版本的指针,提供访问容器或序列中每个对象的方法;
1,迭代子
保存所操作的特定容器需要的状态信息,从而实现与每种容器类型相适应的迭代子(包含指针,不仅仅是指针);
在STL中起粘结剂作用,将STL的各部分结合在一起(STL通过使用自己指定的迭代子对模板实例化);
2,五种预定迭代子:输入,输出,正向,双向,随机访问
(由左向右,功能越来越强,不同的容器支持的迭代子的类别不一样)
3,一些专用迭代子
反转迭代子
插入型迭代子
流迭代子
流缓冲迭代子
三、 Algorithm:泛型算法Generic Algorithm,通用,不依赖具体容器。
1,用函数对象Function Object代替函数指针,函数对象被作为实参传递给泛型算法。
2,泛型算法的命名和分类
这是简单的框架,每项具体的一些含义以及三者之间的关系在开会时尽量补充。
