stl六大組件
- 容器
- 迭代器
- 算法
- 仿函數(shù)
- 容器配接器
- 空間分配器
事例
假如要對(duì)vector<int> 進(jìn)行排序代嗤,
sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last, _Compare __comp)
{
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
_VSTD::sort<_Tp*, _Comp_ref>(__first.base(), __last.base(), __comp);
}
first,last為迭代器勃救,__comp為仿函數(shù)永部,sort默認(rèn)排序?yàn)閺男〉酱笠琅福羌由戏潞瘮?shù)后黄橘,可以實(shí)現(xiàn)任意的排序方式兆览,所以一個(gè)排序,就接觸到了容器塞关,算法抬探,仿函數(shù),迭代器帆赢,空間分配器的概念小压。
空間配接器是做什么的?其實(shí)就是對(duì)容器的接口進(jìn)行修改椰于,達(dá)到一種容器的變形目的怠益,比如stack就是deque的配接器。
容器
容器分為順序容器和關(guān)聯(lián)容器瘾婿,關(guān)聯(lián)容器又分為有序容器和無序容器蜻牢。有序容器底層實(shí)現(xiàn)一般都是紅黑樹,比如map, set偏陪。