所有容器都定義了各自的迭代器
迭代器是乙個物件,它的工作是在容器中挑選元素,並將其呈現給迭代器使用者。
迭代器分類
input迭代器 向前讀取 istream
output迭代器 向前寫入 ostream
forward迭代器 向前讀取和寫入
bidirectional迭代器 向前和向後讀取和寫入 list,set,multiset,map,multimap
random access迭代器 隨即訪問,可讀也可寫 vector deque string array
void advance(inputiterator& pos,dis n) 此函式沒有返回值
dis distance(inputiterator pos1,inputiterator pos2)可處理迭代器之間的距離
void iter_swap(inputiterator pos1,inputiterator pos2)可交換兩個迭代器所指內容
迭代器配接器
reverse迭代器:對此必須注意正向迭代器和逆向迭代器之間的關係
insert迭代器,用來將「賦值新值」操作轉換為「安插新值」操作
它分為:back_insert_iterator, front_insert_iterator,insert_iterator
stream迭代器:istream_iterator,ostream_iterator
STL迭代器失效情況總結
define crt secure no warnings include include include include include include using namespace std void stl vector test cout it cout endl cout 插在迭代器指向的...
STL 容器迭代器失效總結
本文只總結常見的序列容器 vector deque list 和關聯容器 set multiset map multimap 的迭代器失效問題。原迭代器指的是進行操作之前儲存的迭代器,包括begin end 以及其他位置的迭代器。vector 成員函式push back 會在容器末尾新增乙個元素。如...
STL迭代器技術
stl迭代器技術 c stl和各種容已提供了自己的迭代器,如輸入迭代器,輸出迭代器,前向迭代器,雙向迭代器,隨機迭代器。但是 stl在已有迭代器的基礎上,仍然定義了另外一些迭代器,以簡化某些情況下的操作。一般在 stl iterator.h 檔案中提供。1 輸入流迭代器 istream iterat...