STL,Standard Template Library的簡稱,中文名為標準模板庫。C++ STL(標準模板庫)是一套功能強大的 C++ 模板類,是ANSI/ISOC++標準中最新的也是極具革命性的一部分。
它是由Alexander Stepanov、Meng Lee和David R Musser在惠普實驗室工作時所開發(fā)出來的。STL提供了通用的模板類和函數(shù),這些模板類和函數(shù)可以實現(xiàn)多種流行和常用的算法和數(shù)據(jù)結(jié)構(gòu)。STL可分為容器(containers)、迭代器(iterators)、空間配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函數(shù)(functors)六個部分。
在OI競賽中,思考問題的時間要占去很大一部分,相比于C語言,通過調(diào)用STL的內(nèi)容可以大大減少代碼量,也可以降低自己書寫出錯的概率。這樣也可以為自己思考留出更多的時間。
在C++標準中,STL被組織為下面的13個頭文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、
<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。
現(xiàn)在的STL作為C++標準不可缺少的一部分,STL應(yīng)該是滲透在C++程序的角角落落里的。在接下來的幾篇文章里會介紹其中幾個STL中常用的頭文件下的容器或函數(shù)。