C++ STL 各种容器的API 修正次数 1+

支持随机存取(下标),支持随机迭代器  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版本
相关文章
相关标签/搜索