2012-02-23 38 views
5

New Iterator Concepts standard proposal中,我無法破譯單次遍歷迭代器和前向遍歷迭代器之間的任何有用差異。Boost單通迭代器和前向遍歷迭代器之間有什麼區別?

前向遍歷表中「++ r」行的「Assertion/Note」是否意味着Forward Traversal Iterators是可複製的,而Single Pass Iterators不是?

此外,爲什麼額外的默認構造能力使迭代器模型轉發遍歷?基本原理是什麼?

+0

不知道是否重複,但它似乎很接近* very * close:[輸入迭代器和只讀轉發迭代器之間的區別是什麼?](http://stackoverflow.com/q/8869104/500104) – Xeo 2012-02-23 13:06:04

+0

謝謝爲鏈接,@ Xeo。爲了清楚起見,我希望明確地斷言你對這個問題的回答也適用於新的迭代器概念,因爲從舊到新的轉換不是嚴格的一對一。你能證實它適用嗎? – FactualHarmony 2012-02-24 06:33:52

回答

4

的單遍迭代器的想法是,它具有比前向遍歷迭代要求。這使得有可能創建一個用於某些情況下多通不可能。

認爲控制檯輸入。即使您可以製作迭代器的副本,也無法幫助您檢索舊的鍵盤輸入。

+0

我是否理解「多次通過」有效地意味着「不遞增多次解除引用」? – FactualHarmony 2012-02-24 06:04:42

+0

不,多遍意味着不止一次地遍歷序列。 – 2012-02-24 07:50:50