c 六大元件與功能

2021-09-12 17:25:09 字數 1126 閱讀 5333

stl提供六大元件,彼此可以巢狀使用。

1.容器:各種資料結構,比如vector,list,set,map,deque,用來存放資料。從實作的角度看,stl 容器是一種 class template。就體積而言,這一部份很像冰山在海面下的比率。

2.演算法:各種演算法如sort,search,copy,erase。從實作的角度看,stl 演算法是一種 function template。

3.迭代器:扮演容器與演算法的焦灼劑。劑,是所謂的「泛型指標」。共有五種型別,以及其它衍生變化。從實作的角度看,迭代器 是㆒種將 operator*, operator->, operator++, operator-- 等指標相 關操作予以多載化的 class template。所有 stl 容器都附帶有自己專屬的迭 代器 — 是的,只有容器設計者才知道如何巡訪自己的元素。原生指標(native pointer)也是㆒種迭代器。

4.仿函式:行為類似函式,可做為演算法的某種策略(policy)。從實作的角度看,仿函式是㆒種過載了 operator()的 class 或 class template。㆒般函式指標可視為狹義的仿函式。

5.配接器(adapters):一種用來修飾容器(containers)或仿函式(functors) 或迭代器(iterators)介面的東西。例如 stl 提供的 queue 和 stack,雖然看似容器,其實只能算是一種容器配接器,因為它們的底部完全借重 deque,所有動作都由底層的 deque **。改變 functor 介面者,稱 為 function adapter,改變 container 介面者,稱為 container adapter,改變 iterator 介面者,稱為 iterator adapter。

6.配置器(allocators):負責空間配置與管理。從實作的角度看, 配置器是乙個實現了動態空間配置、空間管理、空間釋放的 class template。

stl 六大元件的互動關係:container 透過 allocator 取得資料儲存空間,algorithm 透過 iterator 訪問 container 內容,functor 可以協助 algorithm 完成不同的策略變化,adapter可以修飾或套接 functor。

STL六大元件 功能與運用

stl提供六大元件,彼此可以組合套用 1.容器 containers 各種資料結構,如vector,list,deque,set,map 用來存放資料。從實現的角度來看,stl容器是一種class template。2.演算法 algorithms 各種常用演算法如sort,search,copy,...

STL六大元件

stl提供六大元件,彼此可以組合套用。1 容器 containers 各種資料結構。如vector,list,deque,set,map,用來存放資料。容器又可以分為順序容器和關聯容器.順序容器 vector,list,deque,stack,queue,heap,priority queue,sl...

STL 六大元件

1.容器 containers 各種資料結構,如vector,list,deque,set,map,用來存放資料。從實現的角度看,stl容器是一種class template。2.演算法 algorithms 各種常用的演算法如sort,search,copy,erase 從實現的角度看,stl演算...