作者:winterTTr(轉載請註明) 資料來源:《C++ Standard Libarry》
有關iterator的分類和簡單操作,就不介紹了,一般的資料都會有的。
這裏總寫一些我們用的不多的,或者不太熟悉的方面。
- 一些有用的函數
- iterator的適配器
我們可以通過reverse_iterator來講一個正向的iter轉換爲逆向的。不過,這裏要注意一點,那就是轉換後的iter保持的是”物理位置“,而不是”邏輯位置“。
例如:
的結果是:
pos: 5
rpos: 4
這是一種特性,而不是bug,這點要很注意!
當然,我們可以通過reverse_iterator本身的base()函數,講一個反向iterator轉換爲正向的,不過,注意點相同,保持”物理位置“而非”邏輯位置“
插入適配器:
需要注意一點的時候,我們如果使用copy等標準算法進行插入的時候,在特殊情況下不要忘記預留足夠的空間,否則,會造成interator的無效問題。
stream iterator: