STL标准容器类简介
生活随笔
收集整理的這篇文章主要介紹了
STL标准容器类简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from: http://www.cppblog.com/lmlf001/archive/2006/04/20/5967.aspx
| 標準容器類 | 說明 |
| 順序性容器 | |
| vector | 從后面快速的插入與刪除,直接訪問任何元素 |
| deque | 從前面或后面快速的插入與刪除,直接訪問任何元素 |
| list | 雙鏈表,從任何地方快速插入與刪除 |
| 關聯容器 | |
| set | 快速查找,不允許重復值 |
| multiset | 快速查找,允許重復值 |
| map | 一對多映射,基于關鍵字快速查找,不允許重復值 |
| multimap | 一對多映射,基于關鍵字快速查找,允許重復值 |
| 容器適配器 | |
| stack | 后進先出 |
| queue | 先進先出 |
| priority_queue | 最高優先級元素總是第一個出列 |
所有標準庫共有函數
| 默認構造函數 | 提供容器默認初始化的構造函數。 |
| 復制構造函數 | 將容器初始化為現有同類容器副本的構造函數 |
| 析構函數 | 不再需要容器時進行內存整理的析構函數 |
| empty | 容器中沒有元素時返回true,否則返回false |
| max_size | 返回容器中最大元素個數 |
| size | 返回容器中當前元素個數 |
| operator= | 將一個容器賦給另一個容器 |
| operator< | 如果第一個容器小于第二個容器,返回true,否則返回false, |
| operator<= | 如果第一個容器小于或等于第二個容器,返回true,否則返回false |
| operator> | 如果第一個容器大于第二個容器,返回true,否則返回false |
| operator>= | 如果第一個容器大于或等于第二個容器,返回true,否則返回false |
| operator== | 如果第一個容器等于第二個容器,返回true,否則返回false |
| operator!= | 如果第一個容器不等于第二個容器,返回true,否則返回false |
| swap | 交換兩個容器的元素 |
其中operator>,operator>=,operator<,operator<=,operator==,operator!=均不適用于priority_queue
順序容器和關聯容器共有函數
| begin | 該函數兩個版本返回iterator或const_iterator,引用容器第一個元素 |
| end | 該函數兩個版本返回iterator或const_iterator,引用容器最后一個元素后面一位 |
| rbegin | 該函數兩個版本返回reverse_iterator或const_reverse_iterator,引用容器最后一個元素 |
| rend | 該函數兩個版本返回reverse_iterator或const_reverse_iterator,引用容器第一個元素前面一位 |
| erase | 從容器中清除一個或幾個元素 |
| clear | 清除容器中所有元素 |
下表顯示了順序容器和關聯容器中常用的typedef,這些typedef常用于變量、參數和函數返回值的一般性聲明。
| value_type | 容器中存放元素的類型 |
| reference | 容器中存放元素類型的引用 |
| const_reference | 容器中存放元素類型的常量引用,這種引用只能讀取容器中的元素和進行const操作 |
| pointer | 容器中存放元素類型的指針 |
| iterator | 指向容器中存放元素類型的迭代器 |
| const_iterator | 指向容器中存放元素類型的常量迭代器,只能讀取容器中的元素 |
| reverse_iterator | 指向容器中存放元素類型的逆向迭代器,這種迭代器在容器中逆向迭代 |
| const_reverse_iterator | 指向容器中存放元素類型的逆向迭代器,只能讀取容器中的元素 |
| difference_type | 引用相同容器的兩個迭代器相減結果的類型(list和關聯容器沒有定義operator-) |
| size_type | 用于計算容器中項目數和檢索順序容器的類型(不能對list檢索) |
?
總結
以上是生活随笔為你收集整理的STL标准容器类简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下磁盘IO读写性能测试脚本
- 下一篇: 多重部分和问题