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