Vi è una significativa differenza tra l'istruzione break
e l'istruzione continue
in C++. Come si è visto nell'ultimo esempio, break provoca l'uscita immediata dal ciclo. L'istruzione continue invece, fa in modo che le istruzioni che la seguono vengano ignorate ma non impedisce l'incremento della variabile di controllo o il controllo della condizione di test del ciclo. In altri termini, se la variabile di controllo soddisfa ancora la condizione di test, si continuerà con l'esecuzione del ciclo.
Modifichiamo leggermente l'esempio visto prima cambiando l'istruzione break con l'istruzione continue e inserendo l'incremento della variabile i come prima istruzione del blocco while. Otterremo:
// Esempio di utilizzo dell'istruzione continue
main()
{
int i = 0, somma = 0;
while(i < 10)
{
i++;
if(i == 5)
{
continue;
}
somma = somma + i;
}
return (0);
}
Cosa accadrà adesso? Semplicemente, quando la variabile i varrà 5, l'istruzione somma = somma + i verrà saltata ed il ciclo riprenderà dal passo successivo. Dunque, quello che si otterrà e:
somma = 0 + 1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 = 40