三、容器

来源:互联网 发布:ectouch微分销 源码 编辑:程序博客网 时间:2024/06/06 20:59

1、容器的概念

1.容器成员和函数

容器成员的条件:
- 元素必须是可复制的,所有容器产生一份元素副本,容器操作返回的也是副本,因此复制构造函数执行非常频繁
- 元素必须是可指派(assign)的,所有元素都可使用assign()设定值
- 元素必须是可以释放的

容器函数的能力:
- 容器均能提供value,而非引用
- 所有元素自动形成顺序
- 函数使用者必须确保传递参数符合要求

2.容器的种类和数据结构

分类:
- 序列式容器
  容器中元素有序,但未排序:vector,deque, list
- 关联性容器
  容器中元素都经过排序:set,multiset,map,multimap,和hash table;
- 容器配接器
  以某种STL容器作为底,修改其接口:stack,queue,priority_queue;

数据结构:
- string字符串
- bitset : 保存bits的结构体,每个bit是一个标志,长度固定,长度是模板自变量
- valarray:数学中线性数列概念的呈现。

例子:

bitset<10>bst(7);  //初始化为长度为10,每个为十进制数7bitset<10>bs2(string("1010101001"));//初始化为十位二进制1010101001valarray<int> val(4); //包含4个元素,为指定值valarray<int>val(3,4) //4个元素,均为3
原创粉丝点击