所謂泛型編程就是以獨立於任何特定類實現的方式編寫代碼,針對不一樣的類型提供通用的實現。
STL中的容器、迭代器、算法都是很好的泛型編程的實現。因爲標準庫使用了泛型技術,使得標準庫幾乎能使用於任何的類型。
在C++中實現泛型編程主要是利用C++中的模板技術進行實現的。
在STL中,容器是容納特定類型對象的集合,在stl中,有順序容器和關聯容器兩種。
關聯容器:set multiset map multimap
在STL中,容器通常用模板類來實現。不過STL並無採用面嚮對象的技術。在stl中並無一個通用的容器類。各類具體的容器也沒有統一的基類。
順序容器:指提將一組具備相同類型的T的對象,以嚴格的線性形式組織在一塊兒的容器。包括vector/deque和list這三種容器。注意list雖然不支持隨機訪問,但它倒是順序容器。
stack/queue/priority_queue是容器適配器。容器適配器不是獨立的容器,只是某種容器的變種,它提供原容器的一個專用的受限接口。特別是,容器適配器和普通容器不一樣在於它不提供迭代器。在STL中3種容器適配器。即棧、隊列、優先隊列。即本段開頭提到的三個。
queue back()讀取隊尾處元素。 front()讀取隊首元素。算法