LINUX.ORG.RU

История изменений

Исправление bonta, (текущая версия) :

Да кто goto будет забирать у прогеров? ) Ну в ++ действительно если писать в современном стиле гото скорее всего не пригодится, а вот в Си его активно юзают, например запустите grep -iRI «goto» . в каталоге с кодом ядра - там много тысяч строк гото нагрепается.

Особо не смотрел где он там грепается, но когда-то кодил на Си, и там местами goto был действительно не заменим в вопросах читаемости и краткости кода.

Например представим что идет разнообразная работа с объектами на куче (которые создались в ф-ии), и если какая-то ошибка которая не позволяет дальше работать - то очень удобно сделать

goto error_state;
а за этой меткой сделать код очистки всего что было выделено.

О, вот оно, даже гуглится легко пример полезности готов в Си https://eli.thegreenplace.net/2009/04/27/using-goto-for-error-handling-in-c

Исходная версия bonta, :

Да кто goto будет забирать у прогеров? ) Ну в ++ действительно если писать в современном стиле гото скорее всего не пригодится, а вот в Си его активно юзают, например запустите grep -iRI «goto» . в каталоге с кодом ядра - там много тысяч строк гото нагрепается.

Особо не смотрел где он там грепается, но когда-то кодил на Си, и там местами goto был действительно не заменим в вопросах читаемости и краткости кода.

Например представим что идет разнообразная работа с объектами на куче (которые создались в ф-ии), и если какая-то ошибка которая не позволяет дальше работать - то очень удобно сделать

goto error_state;
а за этой меткой сделать код очистки всего что было выделено.