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

關(guān)聯(lián)容器
- 關(guān)聯(lián)容器與順序容器有著根本的不同:關(guān)聯(lián)容器中的元素是按照關(guān)鍵字來保存和訪問的。與之相對,順序容器中的元素是按照它們在容器中的位置來順訊保存和訪問的。
- 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. 容器適配器

容器適配器
-
stack 操作
stack -
queue 操作
queue

queue

stack
由圖可見:這兩個特殊容器都是由 deque 進行包裝后的適配器。
3. 仿函數(shù)
- 所謂 function object (或者說 functor) 是一個定義了 operator() 的對象,因為它是一個對象,像一個函數(shù)。
- c++標準庫提供了許多預(yù)定義的 functor 和 binder ,后者允許合成更多精巧的 functor , 使用這些時,要包含 <functional> 。
- 注意過時的若干適配器 注:最重要的變動是 bind 來替代 bind1st , bind2nd.Paste_Image.png
- 在c++2.0 中,還可以使用 lambda 替換定制的 functor .


