STL總結 迭代器

2021-05-27 19:33:23 字數 834 閱讀 4711

所有容器都定義了各自的迭代器

迭代器是乙個物件,它的工作是在容器中挑選元素,並將其呈現給迭代器使用者。

迭代器分類

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...