一、顺序容器类型
顺序容器
|
|
头文件
|
vector
|
支持快速随机访问
|
#include <vector>
|
list
|
支持快速插入/删除
|
#include <list>
|
deque
|
双端队列
|
#include <deque>
|
顺序容器适配器 |
|
|
stack
| 后进先出栈 |
NA
|
queue
|
先进先出队列
|
NA
|
priority_queue
|
有优先级管理的队列
|
NA
|
二、容器元素的初始化
方法 |
说明
|
C<T> c;
| 创建一个名为c的空容器。C是容器类型名,如:vector、list、deque;T是元素类型,如:int、string。 |
C c(c2);
|
创建一个名为c的容器,c的元素为容器c2的一个副本。
注:该方法
要求c2和c具有相同的容器类型和元素类型。
|
C c(b, e); |
创建一个名为c的容器,c的元素为迭代器b和e范围内元素的一个副本。
注:该方法不要求迭代器对象和c具有相同的容器类型和元素类型,只要求能够进行转换即可。
|
C c(n);
|
创建一个名为c的容器,c有n个使用值初始化(value-initialized)的元素。
|
C c(n, t);
|
创建一个名为c的容器,c有n个
值为t的
元素。
注:t的类型可以和容器的元素类型不同,只要求能够进行转换即可。
|
三、容器元素的类型约束
在C++中大多数类型都可以用作容器的元素类型。容器元素类型必须满足以下两个约束:
1、元素类型必须支持赋值运算;
2、元素类型的对象必须可以复制。
注:
a. 引用类型不支持一般意义的赋值运算,因此没有元素是引用类型的容器。
b. IO库类型不支持复制或赋值,因此,不能创建存放IO类型对象的容器。