| 標準容器類 |
說明 |
| 順序性容器 |
| 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檢索) |
?