LINUX.ORG.RU

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

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

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

и что уж точно быдлокод - писать функцию, с надеждой, что компилятор ее заинлайнит.

вызов функции, это всего лишь джамп на адрес. с сохранением адреса возврата на стек. goto это тоже джамп на адрес.

таким образом goto ручками, это полный аналог вызова функции, из которой возращаться не надо, то есть как бы заинлайненой.

другое дело что с помощью множества goto можно устроить такую мешанину переходов, что не разобраться. то есть вопрос это не качественный, а количественный. и важно тут не применение или неприменение goto, а то - насколько это упрощает чтение и сопровождение кода(и повышает его эффективность в том числе, поскольку goto это нативная инструкция процессора)

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

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

и что уж точно быдлокод - писать функцию, с надеждой, что компилятор ее заинлайнит.

вызов функции, это всего лишь джамп на адрес. с сохранением адреса возврата на стек. goto это тоже джамп на адрес.

таким образом goto ручками, это полный аналог вызова функции, из которой возращаться не надо, то есть как бы заинлайненой.

другое дело что с помощью множества goto можно устроить такую мешанину переходов, что не разобраться. то есть вопрос это не качественный, а количественный. и важно тут не применение или неприменение goto, а то - насколько это упрощает чтение и сопровождение кода(и его эффективность в том числе, поскольку goto это нативная инструкция процессора)