STL的六 元件及關係

2021-10-03 23:54:49 字數 803 閱讀 4073

容器

各種資料結構,如vector、list、deque、set、map等,⽤來存放資料,從實現⻆度來看,stl容器是⼀種class template。

演算法

各種常⽤的演算法,如sort、find、copy、for_each。從實現的⻆度來看,stl演算法是⼀種function tempalte.

迭代器

扮演了容器與演算法之間的膠合劑,共有五種型別,從實現⻆度來看,迭代器是⼀種將operator* , operator-> , operator++,operator–等指標相關操作予以過載的class template. 所有stl容器都附帶有⾃⼰專屬的迭代器,只有容器的設計者才知道如何遍歷⾃⼰的元素。原⽣指標(nativepointer)也是⼀種迭代器。

仿函式

⾏為類似函式,可作為演算法的某種策略。從實現⻆度來看,仿函式是⼀種過載了operator()的class 或者class template

介面卡

⼀種⽤來修飾容器或者仿函式或迭代器接⼝的東⻄。

空間配置器

負責空間的配置與管理。從實現⻆度看,配置器是⼀個實現了動態空間配置、空間管理、空間釋放的class tempalte.

關係:

stl六⼤元件的互動關係,容器通過空間配置器取得資料儲存空間,演算法通過迭代器儲存容器中的內容,仿函式可以協助演算法完成不同的策略的變化,介面卡可以修飾仿函式

STL中六大元件的關係

六大元件 容器 containers 各種資料結構,如 vector,list,deque,set,map,用來存放 元素 就是template class。演演算法 algorithms 各種常用演演算法如 sort,search,copy,erase,就是template class。迭代器 i...

STL六大元件的互動關係

stl提供六大元件,彼此可以組合套用 1 容器 containers 各種 資料結構,如vector,list,deque,set,map,用來存放資料.從實現的角度來看,stl容器是一各class template,就體積而言,這一部分很像冰山載海面的比率。2 演算法 algorithms 各種常...

EXTJS元件化 三 元件之間的曖昧關係

我忽然發現,菜鳥更願意與人分享他的學習成果.在開發過程中,當許多小組件拼合成乙個大元件之後,最先遇到的問題就是元件與元件之間的通訊和資料互動.如果你的元件封裝的比較死 即在建立的時候不需要配置屬性 則可以通過組建的自定義事件來完成元件與元件之間的專案呼叫.下面的介面其實沒有必要這麼做,這麼做的目的只...