break vs continue em C++
-
Utilizar a declaração
break
do operador para terminar o corpo do loop -
Utilizar a declaração
continue
para Saltar Parte do Corpo do Laço
Este artigo irá demonstrar múltiplos métodos sobre como utilizar as declarações break
versus continue
em C++.
Utilizar a declaração break
do operador para terminar o corpo do loop
A declaração de break
semelhante a continue
chama-se a declaração de salto, que é utilizada para interromper o fluxo da execução do programa. Neste caso, a instrução break
é utilizada para terminar a instrução de loop for
. Note-se que, quando o break
é atingido e executado, o programa deixa o corpo do laço e continua a partir da declaração seguinte - cout < << item << "3"
. A break
deve ser utilizada em conjunto com a declaração de iteração ou de switch
e afecta apenas o laço/switch
mais próximo.
#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;
}
Resultado:
Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3
Utilizar a declaração continue
para Saltar Parte do Corpo do Laço
A declaração continue
é a característica linguística que pode ser utilizada para terminar a actual iteração do laço e começar a executar a próxima iteração. A instrução continue
só pode ser utilizada em for
, while
ou do while
. Se a declaração for colocada dentro de múltiplos blocos de loop aninhados, continue
interromperá apenas a iteração do loop interno e passará a avaliar a expressão de condição.
No exemplo seguinte, a declaração continue
é alcançada se o actual elemento vector
for igual a Hawk
. Uma vez executado, o programa avalia a expressão for
loop, actualmente se restarem quaisquer outros elementos no vector
. Se for verdade, cout << item << " 2 "
a linha é executada, caso contrário cout << item << " 3 "
é atingido.
#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;
}
Resultado:
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