c++ stl(標準模板庫)是一套功能強大的 c++ 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量、鍊錶、佇列、棧。
c++ stl提供了三種元件:容器--containers,演算法--algorithms,迭代器--iterators。
容器--containers,容器是用來管理某一類物件的集合。c++ 提供了各種不同型別的容器,比如 deque、list、vector、map 等。三種元件給我們提供了豐富的預定義函式,下面的程式演示了向量容器(乙個 c++ 標準的模板),它與陣列十分相似,唯一不同的是,向量在需要擴充套件大小的時候,會自動處理它自己的儲存需求:演算法--algorithms,演算法作用於容器。它們提供了執行各種操作的方式,包括對容器內容執行初始化、排序、搜尋和轉換等操作。
迭代器--iterators,迭代器用於遍歷物件集合的元素。這些集合可能是容器,也可能是容器的子集。
#include#includeusing namespace std;
int main()
cout << "vector new size:" << vec.size() << endl;
//訪問向量中的值
for (i = 0; i < 5; i++)
//使用迭代器iterator訪問值
vector::iterator v = vec.begin();
while (v != vec.end())
return 0;
}
輸出結果:
vector size = 0對於其中我們使用的函式,要注意:extended vector size = 5
value of vec [0] = 0
value of vec [1] = 1
value of vec [2] = 2
value of vec [3] = 3
value of vec [4] = 4
value of v = 0
value of v = 1
value of v = 2
value of v = 3
value of v = 4
c STL庫容器之向量vector
vector向量是一種順序行容器。相當於陣列,但其大小可以不預先指定,並且自動擴充套件。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態陣列。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料儲存,初始的空間大小可以預先指定也可以由vector 預...
C STL常用容器總結之三 向量vector
vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。vector的資料安排及操作方式與array非常相似,唯一的差別在於array是靜態空間,一旦配置了就不能改變 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。使用vector之前,必須包含相應的...
C STL常用容器總結之三 向量vector
vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。vector的資料安排及操作方式與array非常相似,唯一的差別在於array是靜態空間,一旦配置了就不能改變 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。使用vector之前,必須包含相應的...