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

1) Оператор goto работает только в пределах одной функции.

2) Оператор goto передает управление на строку с меткой (имя с двоеточием).

3) Метка может быть только одна (с одним именем).

4) Хорошим стандартом в программировании следует считать применение оператора  breakcontinue и return вместо goto во всех случаях, когда это возможно. Но поскольку оператор break выполняет выход только из одного уровня вложенности, для глубоко вложенных циклов может потребоваться оператор goto.


#include <iostream> // std::cout
int main(){
    for(int n = 0; n < 10; n++){ // Перебираем n от 0 до 10
        for(int m = 0; m < 3; m++){ // Перебираем m от 0 до 3
            if(n == 3){ // Если n равно трем переходим на метку label
                goto label; // Выход оператором goto из вложенных циклов
            }
            std::cout << n << ":" << m << " ";
        }
    }
    return 0;
    label: std::cout << "goto label"; // Данная строка недостижима без goto (из-за предшествующего return)
}
//0:0 0:1 0:2 1:0 1:1 1:2 2:0 2:1 2:2 goto label    Вывод программы
2023-10-22



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

continue оператор С++ прерывающий текущую итерацию цикла do, while или for
default C++ указание ветки по умолчанию в операторе switch или создания конструктора по умолчанию в классе
do C++ оператор цикла
else оператор ветвления С++
for - оператор цикла C++ выполняющийся до тех пор пока условие не станет ложным
goto C++ оператор безусловного перехода
if оператор условного выполнения кода С++
switch C++ оператор ветвления
while C++ оператор цикла