8 1 STL總述 發展史 組成,資料結構談

2021-10-07 23:54:36 字數 1702 閱讀 5107

/*

* (1)一些概念

* 1.c++標準庫 standard library c++編譯器自帶,可以在**中包含標頭檔案直接使用。

* 引入的目的就是解決一些反覆使用的功能,我們直接使用即可。

* 2.c++標準模板庫,stl=standard template library。包含在c++標準庫中,是c++標準庫的核心。

* stl深刻影響著c++標準庫

* 3.泛型程式設計 generic programming 使用模板template為主要的程式設計手段來編寫**。

* 我們可以認為標準模板庫就是使用泛型程式設計的編碼方式為我們提供的一套庫。

* * (2)推薦書籍

* 權威書籍 c++標準庫第二版 侯捷 概覽即可,作為工具書,因為我們只需要使用其中的一部分的內容

* stl原始碼剖析 侯捷 不建議自己詳細剖析,stl原始碼太難衡量。

* (3)演算法和資料結構談

* 疑問:要不要把演算法和資料結構的知識學習,然後再學習stl?

* * 資料結構**:資料結構是研究資料怎麼儲存的問題。樹,棧,佇列,鍊錶,雜湊表。

* 每一種資料結構都有一定的特點,有的儲存快,有的查詢快,我們需要使用**實現這些資料結構

* * 資料結構學習方法:對資料結構有簡單認識,不需要知道太多。

* 但是對棧,佇列,鍊錶這3個需要大概了解。

* 棧:後進先出

* 佇列:先進先出

* 鍊錶:順序儲存的一種結構,

* 其他資料結構,樹,圖,雜湊表等有一定概念就可以。

* 我們直接使用既可以。當需要的時候直接學習。比如樹中的紅黑樹,平衡等需要耗費大量時間,我們不需要去研究。

* **

* (4)stl標準模板庫 發展史和各個版本

* 2023年,stl被融入到c++標準中來

* 很多廠商去實現很多stl版本:

* 1.hp(惠普) stl,是所有實現阪本的始祖

* 2.sgi stl:參考惠普stl實現的,linux下的gun(gcc,g++)用的就是這個版本

* 3.p.j.plauger stl:也是惠普stl實現的 vc++

* *

* (5)標準庫的使用說明

* 所有裡面用的東西,都在std裡面。所以原始碼檔案開頭使用using namespace std;

* 標準庫中和stl的相關標頭檔案有幾十到上百個,使用的時候需要包含相關的標頭檔案。

* * (6)stl的組成部分

* 1.容器:vector list map

* 2.迭代器:用於遍歷或者訪問容器中的元素

* 3.演算法,,詩選一些功能,查詢search ,排序sort,

* 4.分配器--一般不使用,進行記憶體分配,一般不需要明確指定,使用預設分配即可。

* 5.其他:如介面卡,仿函式(函式物件等)

8 1 STL總述 發展史 組成,資料結構談

stl發展史和各個版本 標準庫的使用說明 stl組成部分 1 一些概念 1.c 標準庫 standard library c 編譯器自帶,可以在 中包含標頭檔案直接使用。引入的目的就是解決一些反覆使用的功能,我們直接使用即可。2.c 標準模板庫,stl standard template libra...

linux下使用hash map及STL總結

linux下使用hash map及stl總結 linux下使用hash map及stl總結 出處 hash map不是c 標準庫的一部分,但因其重要性很多庫 如sgi stl boost等 實現了hash map,包括g 編譯器所帶的標頭檔案也包含了hash map的實現 其實現為sgi stl的版...

STL特性總述 寫在前面

所謂的容器,見名知意,容納其他資料的 器具 特點 1 支援泛型 2 儲存副本 本質上傳入物件的拷貝。3 記憶體託管 構建物件於堆,無需人工干預,自動管理記憶體的生存週期。stl容器記憶體結構總述 stl 容器的分類與記憶體結構相關的。記憶體結構即分類標準 分類 從上圖示中,可以看出,總共分為三大類,...