C++ Primer 中文第四版中,
第九章 容器和算法:
標準庫定義了順序容器和關聯容器。
順序容器(sequential container):將單一類型元素聚集起來成爲容器,然後根據位置來存儲和訪問這些元素。順序容器的元素排列次序與元素值無關,而是由元素添加到容器裏的次序決定。
標準庫定義了三種順序容器類型:vector、list 和 deque(是雙端隊列“double-ended queue”的簡寫,發音爲“deck”)。它們的差別在於訪問元素的方式,以及添加或刪除元素相關操作的運行代價。標準庫還提供了三種容器適配器(adaptors)。
實際上,適配器是根據原始的容器類型所提供的操作,通過定義新的操作接口,來適應基礎的容器類型。順序容器適配器包括 stack、queue 和 priority_queue 類型,見表 :
順序容器 | |
vector | 支持快速隨機訪問 |
list | 支持快速插入/刪除 |
deque | 雙端隊列 |
順序容器適配器 | |
stack | 後進先出(LIFO) |
queue | 先進先出(FIFO) |
priority_queue | 有優先級管理 |
*iter | 返回迭代器iter所指向的元素的引用 |
iter->mem | 對iter進行解引用,獲取指定元素中名爲mem的成員。等效於(*iter).mem |
iter++ ++iter |
給iter加1,使其指向容器裏的下一個元素 |
iter-- --iter |
給iter減1,使其指向容器裏的前一個元素 |
iter1 == iter2 iter1 != iter2 |
比較兩個迭代器是否相等(或不等)。當兩個迭代器指向同一個容器中的同一個元素,或者當他們都指向同一個容器的超出末端的下一位置時,兩個迭代器相等 |