Я вот люблю плоские условия, а вложенность для редких исключений.

Но что делать, когда логика, вроде бы не позволяет сделать условия плоскими? Когда обязательно нужен else с проверками, а return делать нельзя?

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

Вместо goto, который некоторые не могут использовать по религиозным соображениям, есть while (false) и break.

Ну а в современном C++ подойдет лямбда с вызовом в месте создания, но в нее захватывать по ссылке заебешься.

Берите while, базарю.

10 comments

А нахуя return нельзя?
Откуда настолько сильное неприятие else? Зачем так, извиняюсь, изъебываться, что писать while(false) или <censor>
Victor
Если вместо обычной четырехуровневой вложенности при валидации я увижу два goto и один while(false), то я буду звонить в дурку
The The
Откуда настолько сильное неприятие else? Зачем так, извиняюсь, изъебываться, что писать while(false) или <censor>
Ты, извиняюсь, в глаза ебешься. Это способ не избежать esle, а способ избежать вложености на 100500 уровней.
Azat Garifullin
А нахуя return нельзя?
Ну этм условия ведут к принятию промежуточного решения и они настолько сложносочиненные, что выносить их в отдельную функцию себе дороже. Говнокод это, короче.
Ребята, просто почитайте МакКонела. Там все написано, про if/else в том числе, чтобы не изъебыватся на while(false) - порево какоето
Stas
346
Все ясно, тебе 0 лет