Цитата:
Сообщение от Sinus
'?' - это и есть вариант оператора ветвления.
Это не тот оператор. Это скорей фунция, вычисляющая
одно либо другое выражение (подчёркиваю -- только
выражение, ничего более) в зависимости от значения
лог. условия. Это не оператор, как if.
Другое дело, что и этот оператор может быть заменён
другими логическими выражениями || и &&.
Цитата:
сколько раз за последние лет 5 ты использовал goto в своих программах?
$ grep -r goto . | wc -l
12
Где-то за года полтора.
Цитата:
лично я - 0 (ноль).
есть break, есть continue.
1. завуавалированный goto хуже настоящего.
2. while () {
while () {
for (;;) {
switch() {
...
break ?
}}}}
3. А как относиться к перловым next <метка>?
Цитата:
во всех остальных случаях goto вредно и использовать его не стоит.
"Заставь дурака богу молиться..." (C)
Цитата:
перепрыгнуть через несколько блоков.
ну так в таком случае есть Exceptions.
В чистом C, вокруг longjmp. На 8-битной платформе.
Такты считать не будем. Так ведь тоже вредно, между прочим,
и грабельки подложены аккуратненько где надо.
Цитата:
и вообще, грамотней всего поступили в java- там goto есть, но это вариация оператора break, только указывается куда надо этот break делать.
Так ведь goto вреден? А раз в Java (это, несомненно очень модно) есть -- значит уже не вреден настолько, чтоб им
пренебрегать?
А более взрывоопасно сделано в bash: break <число>. Теперь
попробуй правильно сосчитать скобочки...
Цитата:
всё зависит от степени маразматичности писавшего эту программу.
Вот это действительно верная мысль.
Цитата:
однако существуют некие общепризнанные нормы, выверенные годами, как надо писать программы, а именно: использовать функции, for, while, и свести использование goto к минимуму.
Да, да. И чтобы отступ от <Tab> именно на 4 пробела. А то
работать не будет. С верой в goto, общепризнанные нормы, в
богоугодную ширину табуляции и прочий бред -- это вам в церковь...
Абсолютной истины нет. И спорить на эту тему мне -- только время
терять.