容器:管理特定類型的對(duì)象的集合。
迭代器:迭代對(duì)象集合的元素。屏蔽了底層容器的實(shí)現(xiàn)。
算法:操作對(duì)象集合的元素,查找,排序,修改等。算法不直接操作容器,通過(guò)迭代器操作。
STL基于數(shù)據(jù)和操作分離的原則,容器管理數(shù)據(jù),算法操作數(shù)據(jù),兩者通過(guò)迭代器結(jié)合。


順序容器
array,vector,deque,list,forward_list(一般用數(shù)組或鏈表實(shí)現(xiàn))
關(guān)聯(lián)容器
有序的,set,multiset,map,multimap,在邏輯上可認(rèn)為是順序容器,一般用排序二叉樹(shù)實(shí)現(xiàn)
無(wú)序(關(guān)聯(lián))容器
unsordered_set,unordered_multiset,unsortered_map,unsortered_multimap,一般用hash表實(shí)現(xiàn)
vector
動(dòng)態(tài)數(shù)組,支持隨機(jī)訪問(wèn),在尾后添加刪除元素較快,在中間添加和刪除元素較慢,可能需要改變?nèi)萜鞯娜萘俊?/p>
size() is provided for any container class except singly linked lists (class forward_list).
deque(讀作check)
雙端隊(duì)列,可在兩端增長(zhǎng)的動(dòng)態(tài)數(shù)組,在首尾插入比較快,在中間插入比較慢。
array
固定大小的數(shù)組,只可改變?cè)氐闹担趧?chuàng)建的時(shí)候指定大小。支持隨機(jī)訪問(wèn)。默認(rèn)以類型的默認(rèn)構(gòu)造函數(shù)出初始化,內(nèi)置類型初始值未定義。創(chuàng)建時(shí)需指定大小,作為類型的一部分。
list
雙向,每個(gè)元素保存前驅(qū)和后繼的鏈接,插入和刪除較快,不支持隨機(jī)訪問(wèn)。
forward_list
單向,每個(gè)元素只有后繼的鏈接,不支持push_back,size。