支持随机存取(下标),支持随机迭代器 vector 向量 是一种动态数组(内存自增加) API #include <vector> 构造: 默认构造:vector<T>::vector() ,生成一个空向量 vector<T>::vector(int elemsize), 生成指定大小的容器,初始化每一个元素为T(...)对象 vector<T>::vector<const vector<T>&); 拷贝构造。 vector<T>::vector(int elemsize,T(...)) ; 生成指定大小的容器,初始化每一个元素为T(...)对象 增删 void push_back(T) void pop_back(); void insert(vector<T>::iterator pos,const T& elem); 从数组尾部增删元素,为摊还常量时间。 由于在数组尾部增删元素,不涉及元素的移动。因此是常量时间就能够完成。 可是并不老是这样。由于,好比当插入元素时,极可能会致使从新分配一块 更大的内存,再把原数据拷贝到新的内存 在非尾部增删数据,为线性时间。 改: void resize(size_t len); 从新再开辟len个元素的空间 ,若是涉及新元素 对象的生成,那么调用T() void resize(size_t len,T(...)) 若是涉及新生成的对象,则调用T(...)); 排: 查: size_t size(); 查看容器的当前元素个数。 是否可随机存取? 是 T& operator[](int index); const T& operator[](int index)const; 什么时候会产生新元素的对象? 在声明一个指定大小的容器时或者在resize改变了容器的大小时(不论增大 仍是缩小)。会调用元素默认构造函数:T() 支持insert接口? 全部的STL容器都有至少一个insert版本