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.
Contenido |
[editar]Sintaxis
atrib(opcional)break ; | |||||||||
[editar]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.
[editar]Palabras clave
[editar]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.
[editar]Ejemplo
#include <iostream> int main(){int i =2;switch(i){case1:std::cout<<"1";//<---- puede que advertencia: atraviesa(fall through)case2:std::cout<<"2";// la ejecución empieza en esta etiqueta case (+advertencia)case3:std::cout<<"3";//<---- puede que advertencia: atraviesa(fall through)case4://<---- puede que advertencia: atraviesa(fall through)case5:std::cout<<"45";//break;//se termina la ejecución de la instrucciones subsiguientescase6: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 bucleif(k ==2)break;//std::cout<< j << k <<' ';//}}}
Posible salida:
2345 00 01 10 11
[editar]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 |