К>Тоже неплохо. Кстати, всё равно есть лишние проверки.
никто и не спорит чисто субъективно -- все изменения в обном месте.
кстати, вспомнился занятный факт: continue в switch действует на внешний цикл.
таким образом, если в исходном тексте break заменить на continue, go to -- на break, и после switch
поставить break, то все должно работать.
не утверждаю, что это будет красивее
Re: Убить goto
От:
Аноним
Дата:
16.02.06 18:40
Оценка:
Если подразумевается классическое слияние то одной строчки не хватает:
Шахтер wrote:
> А>Если подразумевается классическое слияние то одной строчки не хватает: > Нет, строится объединения множеств. Результирующая выходная > последовательность строго монотонная.
А чем std::set_union не устраивает? Там, кстати, нет goto (по крайней мере в MSVC7.1 имплементации).
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, kan_izh, Вы писали:
_>Шахтер wrote:
>> А>Если подразумевается классическое слияние то одной строчки не хватает: >> Нет, строится объединения множеств. Результирующая выходная >> последовательность строго монотонная.
_>А чем std::set_union не устраивает? Там, кстати, нет goto (по крайней мере в MSVC7.1 имплементации).
Этот вопрос оффтопик и вообще идиотский.
Не пробовал в автомобиль на бензиновом движке заливать диз-топливо?
Шахтер wrote:
>> > А>Если подразумевается классическое слияние то одной строчки не хватает: >> > Нет, строится объединения множеств. Результирующая выходная >> > последовательность строго монотонная. > _>А чем std::set_union не устраивает? Там, кстати, нет goto (по крайней > мере в MSVC7.1 имплементации). > Этот вопрос оффтопик и вообще идиотский. > Не пробовал в автомобиль на бензиновом движке заливать диз-топливо?
Если говорить метафорами, то твой вопрос выглядит "Я вот тут изобрёл велосипед, но колесо квадратное. Кто сможет
выпрямить?". Я лишь порекомендовал взглянуть на уже готовый. Не устраивает, так не устраивает, но хоть посмтотри как
круглые колёса делаются.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Шахтер, Вы писали:
Ш>Что-то много всякой фигнёй в последнее время страдаем (особенно философской).
Ш>Вот фрагмент кода (слияние двух отсортированных последовательностей). Ш>Задача -- красиво убить goto.
А можно ли в объединяемые множества добавить по элементу? Если да, то нужно вставить в концы обеих последовательностей бесконечность.
Здравствуйте, Olegator, Вы писали:
O>Здравствуйте, Шахтер, Вы писали:
Ш>>Что-то много всякой фигнёй в последнее время страдаем (особенно философской).
Ш>>Вот фрагмент кода (слияние двух отсортированных последовательностей). Ш>>Задача -- красиво убить goto.
O>А можно ли в объединяемые множества добавить по элементу? Если да, то нужно вставить в концы обеих последовательностей бесконечность.
Мысль красивая. Но, боюсь, что не реализуемая, поскольку бесконечное значение не предусмотрено в тех типах, которые используются с этим шаблоном.
Здравствуйте, Olegator, Вы писали:
O>Здравствуйте, Шахтер, Вы писали:
Ш>>Что-то много всякой фигнёй в последнее время страдаем (особенно философской).
Ш>>Вот фрагмент кода (слияние двух отсортированных последовательностей). Ш>>Задача -- красиво убить goto.
O>А можно ли в объединяемые множества добавить по элементу? Если да, то нужно вставить в концы обеих последовательностей бесконечность.
Можно ничего не вставлять, а использовать усовершенствованную функцию сравнения.
Здравствуйте, Шахтер, Вы писали:
Ш>Что-то много всякой фигнёй в последнее время страдаем (особенно философской).
Ш>Вот фрагмент кода (слияние двух отсортированных последовательностей). Ш>Задача -- красиво убить goto.
Шахтер wrote: > Упустил то, что невозможен двухуровневый break. > Тут правда можно использовать break; -- continue;
По-моему, исходный вариант с goto был понятнее
Здравствуйте, Cyberax, Вы писали:
C>Шахтер wrote: >> Упустил то, что невозможен двухуровневый break. >> Тут правда можно использовать break; -- continue; C>По-моему, исходный вариант с goto был понятнее
Дык о том и речь. Мне кажется, что данный пример демонстрирует вредность догм в программировании. Одна из таких догм -- не используй goto. Обычно он не нужен. Но иногда его использование совершенно оправдано.