ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
14 мая
1517530 Топик полностью
Eddy_Em (12.05.2025 09:33, просмотров: 118) ответил Скрипач на Мой жизненный принцип: "...но не любой ценой".
В начале рисуем классический switch, где перебираем все возможные состояния. Ну, а после него - еще один switch, который вызывает return для всех ненужных состояний, а все нужные пропускает - чтобы перейти к "хвосту" функции, который выполняется для нескольких возможных состояний. 

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

eddy-em.livejournal.com github.com/eddyem