STL學習筆記---- iterator

作者:winterTTr(轉載請註明)  資料來源:《C++ Standard Libarry》

 

 

有關iterator的分類和簡單操作,就不介紹了,一般的資料都會有的。

這裏總寫一些我們用的不多的,或者不太熟悉的方面。

 

 

  • 一些有用的函數

 

 

  • iterator的適配器

我們可以通過reverse_iterator來講一個正向的iter轉換爲逆向的。不過,這裏要注意一點,那就是轉換後的iter保持的是”物理位置“,而不是”邏輯位置“。

例如:

 

的結果是:

pos: 5
rpos: 4

這是一種特性,而不是bug,這點要很注意!

 

當然,我們可以通過reverse_iterator本身的base()函數,講一個反向iterator轉換爲正向的,不過,注意點相同,保持”物理位置“而非”邏輯位置“

 

插入適配器:

需要注意一點的時候,我們如果使用copy等標準算法進行插入的時候,在特殊情況下不要忘記預留足夠的空間,否則,會造成interator的無效問題。

 

stream iterator:

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章