break vs continue en C++
-
Usar el operador de declaraciones
break
para terminar el cuerpo del bucle -
Usa la instrucción
continue
para saltar la parte del cuerpo del bucle
Este artículo demostrará múltiples métodos sobre cómo usar las declaraciones de break
vs continue
en C++.
Usar el operador de declaraciones break
para terminar el cuerpo del bucle
La declaración break
similar a continue
se llama la declaración jump
, que se utiliza para interrumpir el flujo de la ejecución del programa. En este caso, break
se utiliza para terminar la sentencia for
del bucle. Nótese que, cuando se alcanza y se ejecuta el break
, el programa deja el cuerpo del bucle y continúa desde la siguiente sentencia - cout << item << "3"
. La sentencia break
debe usarse junto con la iteración o la sentencia switch
y sólo afecta al bucle/switch
más cercano.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;
int main() {
vector<string> arr1 = {"Gull", "Hawk"};
for (auto &item : arr1) {
cout << item << " 1 " << endl;
for (const auto &item1 : arr1) {
cout << item << " 2 " << endl;
if (item == "Hawk") {
break;
}
}
cout << item << " 3 " << endl;
}
return EXIT_SUCCESS;
}
Producción :
Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3
Usa la instrucción continue
para saltar la parte del cuerpo del bucle
La sentencia continue
es la característica del lenguaje que puede ser utilizada para terminar la iteración del bucle actual y comenzar a ejecutar la siguiente iteración. continue
sólo puede ser usada en los bucles for
, while
o do while
. Si la sentencia se pone dentro de múltiples bloques de bucle anidados, continue
interrumpirá sólo la iteración del bloque de bucle interno y pasará a evaluar la expresión de la condición.
En el siguiente ejemplo, la sentencia continue
se alcanza si el elemento vector
actual es igual a Hawk
. Una vez que se ejecuta, el programa evalúa la expresión del bucle for
, actualmente si quedan otros elementos en el vector
. Si es cierto, se ejecuta la línea cout << item << " 2 "
, de lo contrario se alcanza la línea cout << item << " 3 "
.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;
int main() {
vector<string> arr1 = {"Gull", "Hawk"};
for (auto &item : arr1) {
cout << item << " 1 " << endl;
for (const auto &item1 : arr1) {
cout << item << " 2 " << endl;
if (item == "Hawk") {
continue;
}
}
cout << item << " 3 " << endl;
}
cout << endl;
return EXIT_SUCCESS;
}
Producción :
Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 2
Hawk 3
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook