STL之Input & Output Iterator

1         輸入迭代器(input iterator)——用於讀取容器中的信息,但不一定能夠修改它。


n         輸入迭代器iter通過解除引用(即*iter),來讀取容器中其所指向元素之值;


n         爲了使輸入迭代器能夠訪問容器中的所有元素的值,必須使其支持(前/後綴格式的)++ 操作符;


n         輸入迭代器不能保證第二次遍歷容器時,順序不變;也不能保證其遞增後,先前指向的值不變。即,基於輸入迭代器的任何算法,都應該是單通(single-pass)的,不依賴於前一次遍歷時的值,也不依賴於本次遍歷中前面的值。


可見輸入迭代器是一種單向的只讀迭代器,可以遞增但是不能遞減,而且只能讀不能寫。適用於單通只讀型算法。



2         輸出迭代器(output iterator)——用於將信息傳輸給容器(修改容器中元素的值),但是不能讀取。例如,顯示器就是隻能寫不能讀的設備,可用輸出容器來表示它。也支持解除引用和++操作,也是單通的。所以,輸出迭代器適用於單通只寫型算法。


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