Lekcja 18
Instrukcje continue i goto w C++. Obsługa pętli i etykiet w programach C++
Instrukcja continue - podstawy
Instrukcja continue podobnie jak instrukcja break jest związana z pętlami i podobnie jak instrukcję break można ją stosować zarówno w przypadku pętli for, while jak i do while. Różnicą jest to, że instrukcji tej nie stosujemy gdy używamy instrukcji switch (już wkrótce dowiesz się czym jest instrukcja switch).
Instrukcja continue powoduje przerwanie wykonania bieżącego kroku pętli i przejście do następnego kroku. Instrukcja continue działa tylko na pętlę w której się bezpośrednio znajduje - nie da się spowodować przerwania wykonania kroku pętli zewnętrznej.
Zachowanie instrukcji continue, ilustruje poniższy prosty program:
#include <iostream>
using namespace std;
int main()
{
for (unsigned int i=0;i<=12;++i)
{
if ((i%3)==0)
continue;
cout <<"Liczba "<<i<<" nie jest podzielna przez 3"<<endl;
}
cout <<endl<<"Nacisnij ENTER aby zakonczyc..."<<endl;
getchar();
return 0;
}
program nr 18.1
Jak widzisz, nic szczególnego w naszym przykładzie się nie dzieje. Po prostu jeśli liczba jest podzielna przez 3, zostanie wykonywana instrukcja continue, czyli przechodzimy do następnego kroku wywołania pętli. Sprawia to, że wszystkie instrukcje znajdujące się w dalszej części pętli nie są wykonywane (tutaj taką instrukcją jest wypisanie informacji na ekran).
Oczywiście w tym prostym przykładzie, można by było obejść się bez instrukcji continue poprzez zastosowanie instrukcji if, jednak nie zawsze skorzystanie z instrukcji if będzie możliwe lub wygodne - czasami po prostu lepiej wykorzystać nowo poznaną instrukcję.
Instrukcja continue - informacje dodatkowe
Instrukcja continue tak naprawdę nie jest instrukcją często używaną. Powiedziałbym, że jest używana bardzo rzadko i to w bardziej skomplikowanych programach/pętlach. Nie przedstawię Ci jednak takiego przykładu, gdyż nie ma to większego sensu, bowiem musiałbym zamieścić tu kilkaset linii kodu, aby zobrazować Ci sens użycia pętli continue, a niestety byłoby w tym programie zbyt wiele elementów, których jeszcze nie znasz.