容器

来源:互联网 发布:js查看某个属性值 编辑:程序博客网 时间:2024/05/16 00:58

容器是用来存储和组织其它对象的对象

实现链表的类就是一个容器的示例:

vector<double>mydata;  //创建存储double类型值的容器mydata

可以在容器中存储基本类型或任何类类型的条目

如果STL容器模板的类型实参是一个类类型,那么容器可以存储该类型的对象或者任何派生类类型的对象

通常,容器存储我们存储在其中的对象的副本,它们自动分配和管理对象占用的内存

当销毁某个容器的对象时,容器会负责销毁它包含的对象并释放它们占用的内存。

使用STL容器存储对象的一个优点是我们不用费心管理它们的内存。

在实际开发过程中,数据结构本身的重要性不会逊于操作于数据结构的算法的重要性,

当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。

经典的数据结构数量有限,但是我们常常重复着一些为了实现向量、链表等结构而编写的代码,

这些代码都十分相似,只是为了适应不同数据的变化而在细节上有所出入。

STL容器就为我们提供了这样的方便,它容许我们利用已有的实现构造自己的特定类型下的数据结构。

通过设置一些模板类,STL对最常用的数据结构提供了支持,这些模板的参数允许我们指定容器中元素的数据类型

可以将我们许多重复而乏味的工作简化。


STL容器的模板:

容器部分主要由头文件<vector>,<list>,<deque>,<set>,<map>,<stack>和<queue>组成


数据结构描述实现头文件vector(向量)连续存储的元素<vector>list(列表)由节点组成的双向列表,每个节点包含一个元素<list>deque(栓队列)连续存储的指向不同元素的指针所组成的数组<deque>set(集合)由节点组成的红黑树,每个节点都包含一个元素<set>         











0 0
原创粉丝点击