2012-02-23 37 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