STL六大元件

2021-09-08 12:25:04 字數 927 閱讀 9947

stl提供六大元件,它們之間可以相互組合使用。

容器用來存放資料,包括各種資料結構,如vector,list,deque,set,map等。從實現的角度來看,stl容器是一種class template。

演算法包括各種常用的sort,search,copy,erase, find等等。才實現的角度來看,stl演算法是一種function template。

迭代器作為「泛型指標」,扮演容器和演算法之間的粘合劑,用來連線容器和演算法。從實現角度來看,迭代器是一種將operator*,operator->,operator++,operator--等指標相關操作進行過載的class template。所有的stl容器都帶有自己專屬的迭代器。原生指標也是一種迭代器。

所謂的原生指標就是我們定義的最普通的指標,形如  型別名  *指標名,型別名可以是基礎型別int,double等,也可以是乙個類。

當乙個類將*和->操作符進行過載時,雖然也可以進行類似指標的操作,但是它已經不是原生指標。

仿函式是讓乙個類看起來像乙個函式。其實就是一種過載了operator()的class或者class template。

一種用來修飾容器,仿函式或者迭代器的介面的東西。配接器修改類的介面,使原來不相互匹配的兩個類可以相互匹配,進行合作。

配置器主要負責空間的配置和管理。從實現角度來看,配置器是乙個實現了動態空間配置、空間管理、空間釋放的class template。

stl以源**的形式**,而非二進位制檔案。按照c++ standard的規定,所有標準標頭檔案不再有副檔名。但是由於向下相容,有的stl版本還是提供有和無副檔名的兩種檔案。

六大元件中,容器通過配置器獲取資料儲存空間。演算法通過迭代器獲取容器內容。仿函式協助演算法完場策略變化。配接器修飾或者套接仿函式。

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演算...

STL六大元件

容器 containers 各種資料結構,如 vector list deque set map 用來存放資料。演算法 algorithms 各種常用演算法,如 sort search copy erase 分配器 allocators 負責空間配置與管理。迭代器 iterators 容器與演算法之...