目录
1.vector的介绍及应用
1.1vector的介绍
- vector是表示可变大小数组的序列容器
- vector本质上是一个可变大小的数组,也就是说可以通过下标对vector进行访问,比起数组更加高效的是,它的空间是可以变的,而且它的大小会被容器自动处理。
- vector分配空间的策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大,不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何,重新分配的应该是对数增长的间隔大小,以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。
- 与其他动态序列相比(deque,list,forward_list),vector在访问元素的时候更加高效,在末尾插入和删除元素相对高效,但是在中间的插入和删除操作,效率更低。
1.2vector的使用
1.2.1 vector的定义
(constructor)构造函数声明 | 接口说明 |
vector() | 无参构造 |
vector(size_type n,const value_type& val=value_type()) | 构造并初始化 |
vector(const vector& x) | 拷贝构造 |
vector(InputIterator first,InputIterator last) |
使用迭代器构造 |