Boolan STL 第一周筆記

2021-09-14 07:06:09 字數 1259 閱讀 1283

容器是用來儲存資料的,資料可以試使用者自定義的類,也可以試預定義的型別。c++中的容器主要使用有array、vector、list、set、map等。

stl中的容器裡都有分配器,在宣告乙個容器的模板第二個引數就是分配器。分配器是用來給容器分配記憶體的,在一般情況下,使用預設的分配器即可。

在stl中要實現容器中資料的操作如排序、查詢等,都需要相應的演算法來實現。標準庫中定義了許多例如stable sort find for each等高效的演算法

迭代器在stl中用來將演算法和容器聯絡起來,起著一種膠著劑的作用。迭代器是一種檢查容器內元素並遍歷元素的資料型別。迭代器是一種行為類似指標的物件,它提供類似指標的功能,對容器的內容進行走訪。

分配器是用來變換物件的。在stl中有容器分配器、迭代器分配器、仿函式分配器,具體使用時可以物件進行相應的轉換。

就是使乙個類的使用看上去象乙個函式。其實現就是類中實現乙個operator(),這個類就有了類似函式的行為。

它們之間關係:

容器為前閉後開區間,其中迭代器begin()指向容器第乙個元素,end()指向容器尾後元素的後面。

vector 可變大小陣列 支援快速隨機訪問 每次擴容增加一倍

array 固定大小陣列 支援快速隨機訪問 不能新增或者刪除元素

list 雙向鍊錶 只只支援雙向順序訪問

forward_list單向鍊錶 只支援單向順序訪問

deque 雙端佇列 支援快速隨機訪問

set 關鍵字即值

map 關聯陣列 儲存關鍵字-值對

multimap 關鍵字可重複出現map

multiset 關鍵字可重複出現的set

unordered_map使用hash函式組織的map

unordered_set使用hash函式組織的set

unordered_multimap使用hash函式組織的map關鍵字可重複

unordered_multiset使用hash函式組織的set關鍵字可重複

Boolan STL與泛型程式設計 第一周筆記

泛型程式設計 一 我們的目標 level 0 使用c 標準庫 level1 認識c 標準庫 胸中自由丘壑 level2 良好使用c 標準庫 level3 擴充c 標準庫 c standard library vs.standard template library stl 前者包含後者 c 標準庫的...

Boolan C 課程第一周筆記

第一周 20170407 類 帶指標 1 不帶指標 object based 基於物件 單一物件 object oriented 物件導向 多個有關聯的物件 語言學習 語言 標準庫 標頭檔案寫法 防衛式宣告 ifndef complex define complex 前置宣告 類的宣告 類的定義 e...

Boolan c 學習第一周筆記

1.一種基於物件 object based 這種是單一的類的設計 一種物件導向 object oriented 多重class的設計 對於類中的變數和函式而言,資料有很多份但是函式只有乙份。2.標頭檔案的正規寫法 ifndef 頭檔名 define 頭檔名 endif 採用了防衛式宣告。3.c 中的...