Второй раз за жизнь использовал goto в Си.
Пригождается всё-таки такая мелочь
7 comments
iliazeus, вот как раз это было моё первое столкновение с goto, когда писал лабу по переворачиванию bmp картинки. При ошибке поворота, освобождалось место и программа то ли завершалась, то ли просила пользователя предоставить другую картинку. Сейчас же просто заковыристый цикл нужно было написать, а я поленился, но вспомнил про goto. Пишу на Си пока что преимущественно под железки. Тут нечего очищать или выделять. Тут с этим беда)) Динамика запрещена. Данила, а какая может быть ошибка при повороте картинки? Памяти на буфер нет? В файл записать не получилось? @kurator88 @danilax86 не жди, что этот код без багов, сам на си тоже давно не писал :) В целом, для корректного сбора ресурсов, который в других языках делают деструкторы или финализаторы или defer. Освободить ресурсы в правильном порядке, при этом без double free и без дублирования кода. @iliazeus Фигурные скобочки же! А то можно получить классику при достаточном количестве повторений. |
@danilax86 а как в C без goto подчищать ресурсы при ошибках? Или раньше не приходилось?