1. 關聯容器
關聯容器
- 關聯容器與順序容器有著根本的不同:關聯容器中的元素是按照關鍵字來保存和訪問的储矩。與之相對齐饮,順序容器中的元素是按照它們在容器中的位置來順訊保存和訪問的。
- multi 表示允許重復關鍵字般码; map 和 multimap 定義在頭文件 map 中迷殿,set 和 multiset 定義在頭文件 set 中;
迭代器種類
一定要知道每種容器迭代器的種類乍钻,因為在使用各種算法時肛循,算法會有“暗示”,例如
“暗示”
此算法就需要迭代器是 random access 的银择, 所以就不能使用多糠。
繼承關系
4.set 能力與操作
set
5.multiset 能力與操作
multiset
6.map 能力與操作
map
4.multimap 能力與操作
multimap
2. 容器適配器
容器適配器
-
stack 操作
stack -
queue 操作
queue
queue
stack
由圖可見:這兩個特殊容器都是由 deque 進行包裝后的適配器。
3. 仿函數
- 所謂 function object (或者說 functor) 是一個定義了 operator() 的對象欢摄,因為它是一個對象熬丧,像一個函數。
- c++標準庫提供了許多預定義的 functor 和 binder ,后者允許合成更多精巧的 functor , 使用這些時析蝴,要包含 <functional> 害捕。
- 注意過時的若干適配器 Paste_Image.png
- 在c++2.0 中,還可以使用 lambda 替換定制的 functor .