向專家學習STL

之前就有看過部分STL源碼剖析(作者:侯捷),可能是看的不夠細,思考的不夠多,時間長了,似乎全都忘了,所以今天晚上心血來潮,計劃花點時間在把關於STL的知識進行熟悉和學習。

此次學習計劃將每天所學進行梳理並把心得在博客中記錄,一是怕自己忘掉,回頭可以通過自己寫的博客快速回憶起來,好記性不如爛筆頭嗎,同時將學習過程中編寫的代碼上傳Github;二是啥,想不到了。等想到了再來補充吧。

學習STL就不得不知道他所包含的六大組件,它們分別是:

      • 容器(containers):是一種class template,包含各種數據結構;

      • 算法(algorithms):是一種function template,包含各種常用算法;

      • 迭代器(iterators):是所謂的”泛型指針“,每一種容器都有自己的專屬迭代器,知道如何遍歷自己的元素;

      • 仿函數(functors):是一種重載了operator()的class 或 class template,可以作爲算法的某種策略;

      • 配接器(adapters):是一種用來修飾容器或仿函數或迭代器接口的東西;

      • 配置器(allocators):是一個實現了動態空間配置、空間管理、空間釋放的class template,負責空間的配置和管理。

下圖展示了STL六大組件的交互關係:

捕獲.PNG

參考書籍:《STL源碼剖析》侯捷


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章