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版本
相關文章
相關標籤/搜索