STL之迭代器

2021-07-09 03:16:18 字數 668 閱讀 9146

除了為每個容器定義的迭代器之外,標準庫在標頭檔案iterator中還定義了額外幾種迭代器,包括:

(1)插入迭代器(insert_iterator):被繫結到乙個容器上,可用來向容器插入元素。

(2)流迭代器(stream_iterator):被繫結到輸入輸出流,可用來遍歷所關聯的io流。

(3)反向迭代器(reverse_iterator):向後而不是向前移動,除了forward_list之外的標準庫容器都有反向迭代器

(4)移動迭代器(move_iterator):不拷貝其中的元素,而是移動它們。

插入迭代器有三種型別:

(1)back_inserter:建立乙個使用push_back的迭代器。

(2)front_inserter:建立乙個使用push_front的迭代器。

(3)inserter:建立乙個使用inserter的迭代器。此函式接受兩個引數,第乙個表示給定的迭代器,第二個表示要參入的元素,元素將被插入給定迭代器之前。

當建立乙個流迭代器時,必須指定將要讀寫的物件型別,流迭代器有兩種型別:

(1)istream_iterator:istream_iteratorint_it(cin); //從cin讀取int   istream_iteratorint_eof;//預設初始化迭代器,即尾後迭代器

(2)ostream_iterator:

STL之迭代器

我們知道,迭代器常用來訪問容器中的元素。在使用迭代器的方式上來看,和指標非常的類似,甚至於就已經當作指標來使用了。事實上,迭代器的作用就是為了提供一種訪問資料的方式。容器 container 作為標準模板庫中的乙個核心內容,給我們提供了非常強大的資料結構的支援,以便於我們能夠更加方便 高效的實現我們...

STL之迭代器

1 每一種容器都有自己的迭代器 2 所有的迭代器介面都是一樣的 3 在整個標準庫中,經常使用形參為一對迭代器的建構函式 4 常用的迭代器操作 iter iter iter iter1 iter2,iter1 iter2 5 vector和deque容器的迭代器的額外操作 iter n,iter n,...

STL之迭代器

除了每個容器定義的迭代器之外,在標準庫標頭檔案iterator中還定義了額外幾種迭代器 1.插入迭代器 插入迭代器是一種迭代器介面卡,它接受乙個容器,返回乙個迭代器,能實現向容器新增資料 插入迭代器有3中型別,都是返回乙個容器的插入迭代器,區別是所插入的位置不同 1 back inserter ve...