C++ STL 初步介绍01
STL 提供了6大組件,彼此之間可以組合套用,這6大組件分別是:
容器,算法,迭代器,仿函數(shù),適配器,空間配置器
簡單介紹:
容器:各種數(shù)據(jù)結(jié)構(gòu),入vector,list, deque, set, map等,用來存放數(shù)據(jù),從實(shí)現(xiàn)角度來看, STL容器是一種 class template.
算法:各種常用的算法,如 sort, find, copy, for_each. 從實(shí)現(xiàn)的角度來看,stl算法是一種 function template.
迭代器:扮演了容器與算法之間的膠合劑,共有五種類型,從實(shí)現(xiàn)角度來講,迭代器是一種將 operator*, operator->, operator++, operator–等指針相關(guān)操作予以重載的class template,所有的STL容器都附帶有自己專屬的迭代器,只有容器的設(shè)計(jì)者才知道如何遍歷自己的元素,原生指針也是一種迭代器.
仿函數(shù): 行為類似函數(shù),可作為算法的某種策略,從實(shí)現(xiàn)角度看,仿函數(shù)是一種重載了operator()的class或者是 class template.
適配器:一種專門用來修飾容器或者仿函數(shù)或者迭代器接口的東西
空間配置器:負(fù)責(zé)空間的配置和管理,從實(shí)現(xiàn)角度看,配置器是一個(gè)實(shí)現(xiàn)了動(dòng)態(tài)空間配置,空間管理,空間釋放的class template
STL 6大組件的交互關(guān)系:容器通過空間配置器取得數(shù)據(jù)存儲(chǔ)空間,算法通過迭代器存儲(chǔ)容器中的內(nèi)容,仿函數(shù)可以協(xié)助算法完成不同的策略變化,適配器可以修飾仿函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的C++ STL 初步介绍01的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf第三季男气功怎么打悲鸣
- 下一篇: 成都大熊猫繁育研究基地可以下午去吗