В чем разница между повышающим однопроходным итератором и итератором прямого обхода? - PullRequest
5 голосов
/ 23 февраля 2012

В стандартном предложении Новые концепции итераторов я не могу расшифровать какое-либо полезное различие между однопроходным итератором и итератором прямого обхода.

Означает ли "утверждение / примечание" для строки "++ r" в таблице Forward Traversal, что итераторы прямого обхода являются копируемыми, а итераторы Single Pass - нет?

Кроме того, почему дополнительная способность конструировать по умолчанию делает модель итератора Forward Traversal? Каково обоснование?

1 Ответ

4 голосов
/ 23 февраля 2012

Идея однопроходного итератора заключается в том, что он имеет меньше требований, чем итератор прямого обхода.Это позволяет создать его для некоторых случаев, когда многопроходность просто невозможна.

Подумайте о консольном вводе.Даже если бы вы могли сделать копию итератора, это не помогло бы вам восстановить старый ввод с клавиатуры.

...