JavaShuo
欄目
標籤
STL六大組件
時間 2019-12-14
標籤
stl
六大
組件
简体版
原文
原文鏈接
標準模板庫(STL):
STL庫是用模板(template)寫出來的,模板是STL庫的基礎。STL大體由如下幾部分組成:
——容器(container)
——迭代器(iterator)
——容器適配器(Adapter)
——算法(algorithm)
——函數對象(functor)
——配置器(allocator) //底層實現
容器、迭代器、容器適配器
都是用
類模板
實現的,
迭代器
用於遍歷容器中的每個元素,
算法
用於操做數據。
(使用了C++11新特性,編譯的時候要加上:
-std=c++11
)
容器:
STL運用模板類庫機制,爲數據存儲,查找和其餘操做提供了一整套方案,大大提升了程序的正確性。
不只如此,類庫對經常使用的不少操做進行了優化處理,大大提升了程序的效率。
容器是可容納一些數據的類模板,STL中有
vector、list、deque、(序列式容器)set/multiset、map/multimap(關聯式容器)
等容器。
迭代器:
在有的專業書籍中,迭代器也稱
遊標
,能夠將迭代器初步理解爲
廣義指針
,迭代器和指針功能很像,迭代器是經過重載一元的」*」和」->」來從容器中
間接地
返回一個值。
迭代器有5種,依次爲:
——隨機訪問迭代器(Random Access Iterator)
——雙向迭代器(Bidirectional Iterator)
——前向迭代器(Forward Iterator)
——輸入迭代器(Input Iterator)
——輸出迭代器(Output Iterator)
適配器:
適配器
就是Interface(接口),對容器、迭代器和算法進行包裝,但
其實質仍是容器、迭代器和算法
,只是不依賴於具體的標準容器、迭代器和算法類型,
容器適配器
能夠理解爲容器的模板
,
迭代器適配器
可理解爲迭代器的模板
,
算法適配器
可理解爲算法的模板。
常見的容器適配器有:
stack、queue、
priority_queue
(不支持迭代器訪問)
算法:
STL包含了不少對
容器
進行處理的
函數
,它們的處理思路大致相同:使用
迭代器
來標識要處理的數據或數據段、以及結果的存放位置,有的函數還做爲對象參數傳遞給另外一個函數,實現數據的處理。
相關文章
1.
STL六大組件
2.
STL六大組件簡介
3.
STL 六大組件概要
4.
STL——STL六大組件概念
5.
C++ STL六大組件-簡介
6.
STL 源碼分析六大組件-allocator
7.
STL六大組件交互關係
8.
STL 六大組件 功能與運用
9.
STL六大組件 功能與運用
10.
C++ STL中的六大件
更多相關文章...
•
ASP AdRotator 組件
-
ASP 教程
•
ASP Content Linking 組件
-
ASP 教程
•
JDK13 GA發佈:5大特性解讀
•
RxJava操作符(六)Utility
相關標籤/搜索
stl
組件
六件
六大
大件
組件封裝
零組件
Flutter組件
組件基礎
開源組件
Docker命令大全
PHP 7 新特性
MySQL教程
插件
文件系統
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
ubantu 增加搜狗輸入法
2.
用實例講DynamicResource與StaticResource的區別
3.
firewall防火牆
4.
頁面開發之res://ieframe.dll/http_404.htm#問題處理
5.
[實踐通才]-Unity性能優化之Drawcalls入門
6.
中文文本錯誤糾正
7.
小A大B聊MFC:神奇的靜態文本控件--初識DC
8.
手扎20190521——bolg示例
9.
mud怎麼存東西到包_將MUD升級到Unity 5
10.
GMTC分享——當插件化遇到 Android P
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
STL六大組件
2.
STL六大組件簡介
3.
STL 六大組件概要
4.
STL——STL六大組件概念
5.
C++ STL六大組件-簡介
6.
STL 源碼分析六大組件-allocator
7.
STL六大組件交互關係
8.
STL 六大組件 功能與運用
9.
STL六大組件 功能與運用
10.
C++ STL中的六大件
>>更多相關文章<<