Instrucción break
Hace que los bucles for, range-for, while o do-while o la instrucción witch termine.
Se usa cuando es incómodo terminar el bucle mediante una expresión de condición e instrucciones condicionales.
Sintaxis
atrib(opcional) break ;
|
|||||||||
Explicación
Después de esta instrucción se transfiere el control a la instrucción que sigue inmediatamente al final del bucle o switch. Como con la salida de cualquier bloque, todos los objetos declarados de almacenamiento automático dentro de la instrucción compuesta o en la condición de un bucle/switch se destruyen, en orden inverso al de construcción, antes de la ejecución de la primera línea que sigue al final del bucle/switch.
Palabras clave
Notas
Una instrucción break no se puede usar para salir de varios bucles anidados. Se puede usar la instrucción goto con este propósito.
Ejemplo
#include <iostream>
int main()
{
int i = 2;
switch (i) {
case 1: std::cout << "1"; //<---- puede que advertencia: atraviesa(fall through)
case 2: std::cout << "2"; // la ejecución empieza en esta etiqueta case (+advertencia)
case 3: std::cout << "3"; //<---- puede que advertencia: atraviesa(fall through)
case 4: //<---- puede que advertencia: atraviesa(fall through)
case 5: std::cout << "45"; //
break; //se termina la ejecución de la instrucciones subsiguientes
case 6: std::cout << "6";
}
std::cout << '\n';
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 5; k++) { //break solo afecta a este bucle
if (k == 2) break; //
std::cout << j << k << ' '; //
}
}
}
Posible salida:
2345
00 01 10 11
Véase también
[[fallthrough]](C++17)
|
indica que la llegada desde la etiqueta case previa es intencionada y no debe diagnosticarse por el compilador que advierte sobre esta circunstancia |
Documentación de C para break
| |