GeekBand STL與泛型編程 -- 2

1. 關(guān)聯(lián)容器

關(guān)聯(lián)容器
  1. 關(guān)聯(lián)容器與順序容器有著根本的不同:關(guān)聯(lián)容器中的元素是按照關(guān)鍵字來保存和訪問的。與之相對,順序容器中的元素是按照它們在容器中的位置來順訊保存和訪問的。
  2. multi 表示允許重復(fù)關(guān)鍵字; map 和 multimap 定義在頭文件 map 中,set 和 multiset 定義在頭文件 set 中;
迭代器種類

一定要知道每種容器迭代器的種類,因為在使用各種算法時,算法會有“暗示”,例如


“暗示”

此算法就需要迭代器是 random access 的, 所以就不能使用。

繼承關(guān)系

4.set 能力與操作


set

5.multiset 能力與操作


multiset

6.map 能力與操作


map

4.multimap 能力與操作


multimap

2. 容器適配器

容器適配器
  1. stack 操作


    stack
  2. queue 操作


    queue
queue

stack

由圖可見:這兩個特殊容器都是由 deque 進行包裝后的適配器。

3. 仿函數(shù)

  1. 所謂 function object (或者說 functor) 是一個定義了 operator() 的對象,因為它是一個對象,像一個函數(shù)。
  2. c++標準庫提供了許多預(yù)定義的 functor 和 binder ,后者允許合成更多精巧的 functor , 使用這些時,要包含 <functional> 。
  3. 注意過時的若干適配器
    Paste_Image.png
    注:最重要的變動是 bind 來替代 bind1st , bind2nd.
  4. 在c++2.0 中,還可以使用 lambda 替換定制的 functor .
注: 筆記中基本所有截圖都來自于 www.cpluscplus.com
注: 下周筆記統(tǒng)一講算法。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容