C ++ Гото заявления
Гото заявление позволяет контролировать безоговорочно помеченного оператора в пределах той же функции.
Примечание: В любом языке программирования, не рекомендует использование оператора GOTO.Потому что это делает его трудно отслеживать поток управления программы, что делает программу трудно понять и трудно изменить. Любая программа, которая использует Goto заявления можно переписать в виде формулировка не требует использование оператора GOTO.
грамматика
Гото заявление в синтаксисе C ++:
goto label; .. . label: statement;
Здесь метка распознается идентификатор помеченный оператор может быть ничем иным , чем ключевые слова C ++ в виде простого текста.Помеченный оператор может быть какое-либо заявление, помещенный в идентификатор и двоеточие (:) позади.
технологическая схема
примеров
#include <iostream> using namespace std; int main () { // 局部变量声明 int a = 10; // do 循环执行 LOOP:do { if( a == 15) { // 跳过迭代 a = a + 1; goto LOOP; } cout << "a 的值:" << a << endl; a = a + 1; }while( a < 20 ); return 0; }
Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
Гото заявление является хорошим роль для выхода из глубоко вложенной рутины. Например, рассмотрим следующий фрагмент кода:
for(...) { for(...) { while(...) { if(...) goto stop; . . . } } } stop: cout << "Error in program.\n";
УстранениеГото приведет к некоторые дополнительные тесты выполняются.Простой операторперерыв здесь не играет роли, поскольку она заставляет программу выхода из внутреннего цикла.