C++标准模板库(STL)的概念
生活随笔
收集整理的這篇文章主要介紹了
C++标准模板库(STL)的概念
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
STL(Standard Template Library)標準模板庫是 C++ 標準庫中的一部分,標準模板庫為 C++ 提供了完善的數據結構及算法。
STL 標準模板庫包括三部分:容器、算法和迭代器。容器是對象的集合,STL 的容器有:vector、stack、queue、deque、list、set 和 map 等。STL 算法是對容器進行處理,比如排序、合并等操作。迭代器則是訪問容器的一種機制。
在 C++ 定義數組時,我們必須提前知曉數組的大小,然后為了避免因為新數據的加入而導致越界,因而需要不斷地進行越界檢測,這樣一來效率就大大降低了。而使用 STL 有一個非常大的優點就是不需要提前知道數組的大小,當有新元素加入時,容器會自動增大,刪除元素時,容器會自動減小。
除此之外,STL 還提供了大量的算法用于操作容器。STL 具有可擴展性,也就是說可以增加新的容器和算法。
STL 基本容器可以分為:
- 序列式容器,主要有 list、vector、deque;
- 關聯式容器,主要有 set、multiset、map、multimap;
序列式容器可以像數組一樣通過下標進行訪問。關聯式容器則是需要通過鍵值進行訪問,關聯式容器可以將任何類型的數據作為鍵值。
| vector | 序列式容器 | 按照需要改變長度的數組 |
| list | 序列式容器 | 雙向鏈表 |
| deque | 序列式容器 | 可以操作兩端的數組 |
| set | 關聯式容器 | 集合 |
| multiset | 關聯式容器 | 允許重復的集合 |
| map | 關聯式容器 | 圖表 |
| multimap | 關聯式容器 | 允許重復的圖表 |
總結
以上是生活随笔為你收集整理的C++标准模板库(STL)的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++模板中的函数式参数
- 下一篇: C++基本序列式容器 vector (一