Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, Sinclair, Вы писали:
S>>>>Yield всего лишь облегчает реализацию итераторов, которые и в императивном случае вполне ленивы. G>>>Итераторы были-бы ленивыми, если бы значение элемента контейнера вычислялось в момент доступа к нему по итератору, т. е. было отложенным до момента чтения. S>>Это так и есть. Не очень понимаю, зачем итератору вычислять элементы в какой-то другой момент. G>Не совсем так. Допустим, у тебя одна функция заполняет вектор значений, нетривиально вычисляя каждое значение.
Хотя, чтобы добиться такого же эффекта, ты на самом деле можешь фактически обойтись без контейнера, но заставить объект выглядеть снаружи как контейнер. Согласен, в этом смысле итераторы "ленивые".