Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-07-11 15:05:49 ЛС | профиль | цитата
эххе Вот это уже пример на 5+... Тут подумать надо...

[size=-2]------ Добавлено в 14:52
Galkov писал(а):
что про "однопроходной" вариант преодоления этой проблемы - я и думать не буду

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

[size=-2]------ Добавлено в 15:05
Дошло: проблема при таком подходе в хабе. И во всех элементах, безусловно дублирующих входной поток. Грубо говоря однопроходным может быть примерно такое решение:
1) данным добавляется атрибут volatile - признак изменения данных
2) любой элемент, который выпускает из-под себя копии одних и тех же данных должен проверить их на наличие этого атрибута
3) если таковой имеется, то данные нужно сохранить.

Скажем счетчик цикла for не является volatile данными. Конкатенация строк должна перед выдачей в поток проверить на наличие такого флага у каждого операнда и присвоить его всему выражению, если он есть.
карма: 27
0