Сначала вызывается функция IsKey(4), принимающая в качестве аргумента код кнопки и возвращающая значение "истина", если кнопка с этим кодом была нажата между предпоследним и последним вызовами функции Show(). Код 4 соответствует кнопке со стрелкой "налево". Если результат вызова - "истина", то выполняется блок заключенный в фигурные скобки (между 6 и 8 строками).
Не пойму: нах ты так цепляешься за этот гоуту? Окей, опустим все его плюсы и минусы, но он совсем не вписывается в стандарт индустрии. Тебя любой лид, в лучшем случае, по рукам за него отпиздит
Ты приписываешь мне некое "цепляешься", а я ничего подобного не делаю. if и goto входят в наиболее естественный базис, близкий к тому как работают современные процессоры. Если человек понимает как работает goto, то ему очень легко понять и как работает процессор и как работают for, switch, while и do while, break и continue. А вот обратное не верно.
А чем while не устраивает? Просто против системы идёшь?
Против какой системы?
Вместо того чтобы придумывать любой алгоритм и просто его превращать в код, отказ от goto требует преодоления дополнительных сложностей, требующих выражения придуманного алгоритма ограниченными средствами. Если задача при этом в том, чтобы научиться создавать правильные алгоритмы, то она просто становится сложнее. А дальше начинаются совсем странные вещи: люди вместо того, чтобы нормально обучать программированию на С++ начинают выдумывать новые языки программирования, на которых программы работают в сотни раз медленнее, специально чтобы было проще учиться, и мы получаем толпы людей, которые вроде как умеют программировать, а вроде как их программы нельзя использовать там где нужна высокая производительность, например в играх.
@Splatt чё скажешь?
Минус goto - это отсутствие гарантированной проверки, нужно ли делать цикл снова.
А преимущество в том что можно передать поток управления в произвольную точку кода, получив не только циклы, а вообще произвольные конструкции