【C++]標準模板庫STL

STL

名詞解釋:STL是Standard Template Library的簡稱,中文名標準模板庫,惠普實驗室開發的一系列軟件的統稱。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普實驗室工作時所開發出來的。從根本上說,STL是一些“容器”的集合,這些“容器”有list,vector,set,map等,STL也是算法和其他一些組件的集合。這裏的“容器”和算法的集合指的是世界上很多聰明人很多年的傑作。STL的目的是標準化組件,這樣就不用重新開發,可以使用現成的組件。STL現在是C++的一部分,因此不用安裝額外的庫文件。
在C++標準中,STL被組織爲下面的13個頭文件:< algorithm>、< deque>、< functional>、< iterator>、< array>、< vector>、< list>、、、、< memory>、< numeric>、< queue>、< set>、< unordered_set>、< stack>和< utility>。

組成部分

STL可分爲容器(containers)、迭代器(iterators)、空間配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函數(functors)六個部分。

STL特點

數據結構和算法的分離,非面向對象本質。訪問對象是通過象指針一樣的迭代器實現的;
容器是象鏈表,矢量之類的數據結構,並按模板方式提供;
算法是函數模板,用於操作容器中的數據。由於STL以模板爲基礎,所以能用於任何數據類型和結構。

STL容器介紹可以參開我的另一篇博客STL容器
算法:STL算法能用於各種容器。STL提供的許多算法,大量用於操作容器,插入、刪除、搜索、排序以及其他算法,都適合於部分或者所有的STL容器。

STL的實現非常簡單。到目前爲止,類的設計者都將算法作爲容器的成員函數,使算法和容器相關聯。STL採用不同的方法,STL的算法和容器是分離的,它只是間接地通過迭代器操作容器的元素。STL算法能夠用於STL容器以及基於指針的、C風格的數組。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章