3.3.2 Goto

3.3.2 Goto

С++ снабжен имеющим дурную репутацию оператором goto.

goto идентификатор; идентификатор : оператор

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

Одно из немногих разумных применений состоит в выходе из вложенного цикла или переключателя (break лишь прекращает вполнение самого внутреннего охватывающего его цикла или преключателя). Например:

for (int i = 0; i«n; i++) for (int j = 0; j«m; j++) if (nm[i][j] == a) goto found // найдено // не найдено // ...

found: // найдено // nm[i][j] == a

Имеется также оператор continue, который по сути делает переход на конец оператора цикла, как объясняется в #3.1.5.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.3.2 Goto

Из книги C++ автора Хилл Мюррей

3.3.2 Goto С++ снабжен имеющим дурную репутацию оператором goto.goto идентификатор; идентификатор : операторВ общем, в программировании высокого уровня он имеет очень мало применений, но он может быть очень полезен, когда С++ программа генерируется программой, а не пишется


9.11 Оператор Goto

Из книги Справочное руководство по C++ автора Страустрап Бьярн

9.11 Оператор Goto Можно осуществлять безусловную передачу упраления с пмощью оператораgoto идентификатор ;Идентификатор должен быть меткой (#9.12), расположенной в текущей функции. Невозможно передать управление в обход описания с инициализатором (явным или неявным) никак,


R.6.6.4 Оператор goto

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

R.6.6.4 Оператор goto Оператор goto безусловно передает управление на оператор, помеченный идентификатором. Идентификатор должен быть меткой (§R.6.1), находящейся в текущей


Оператор перехода goto

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Оператор перехода goto Синтаксис:goto <метка>;...<метка>: <оператор>Действие:Оператор перехода goto передает управление непосредственно на <оператор>, помеченный <меткой>. Метка представляет собой обычный идентификатор, синтаксис которого описан в разделе 1.3.


ДРУГИЕ УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ: break, continue, goto

Из книги C++ для начинающих автора Липпман Стенли

ДРУГИЕ УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ: break, continue, goto      Операторы, определяющие циклические вычисления, которые только что обсуждались, и условные операторы (if, if-else, switch) являются важнейшими средствами управления выполнением программы на языке Си. Они должны использоваться для


Избегайте использовать goto  

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

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


5.10. Инструкция goto

Из книги автора

5.10. Инструкция goto Инструкция goto обеспечивает безусловный переход к другой инструкции внутри той же функции, поэтому современная практика программирования выступает против ее применения.Синтаксис goto следующий:goto метка;где метка – определенный пользователем


Оператор безусловного перехода goto

Из книги автора

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