Każda instrukcja czynna (a więc nie deklaracja) może być
poprzedzona etykietą.
Etykieta to dowolny identyfikator i
następujący po nim dwukropek. Instrukcją opatrzoną etykietą
może, w szczególności, być instrukcja pusta.
Etykieta może być wykorzystana do wykonania skoku
za pomocą instrukcji
goto (patrz
dalej), jak w poniższym przykładzie.
1. #include <iostream> 2. using namespace std; 3. 4. int main() { 5. int tab[2][2][2]{{{1,2},{3,4}},{{5,6},{7,8}}}; 6. bool jest = false; 7. for (int i = 0; i < 2; i++) 8. for (int j = 0; j < 2; j++) 9. for (int k = 0; k < 2; k++) 10. if (tab[i][j][k] == 5) { ➊ 11. jest = true; 12. goto LAB; 13. } 14. LAB:if(jest) ➋ 15. cout << "5 jest w tablicy" << endl; 16. else 17. cout << "5 nie wystepuje w w tablicy" << endl; 18. }
W programie tym, wewnątrz zagnieżdżonej pętli for poszukiwany jest element trzywymiarowej tablicy liczbowej, który jest równy 5. Jeśli zostanie znaleziony (➊), to zmienną jest ustawiamy na true i, dzięki instrukcji skoku, wychodzimy z zewnętrznej pętli — przepływ sterowania przechodzi do linii ➋ z etykietą LAB:. Omówiona dalej instrukcja zaniechania break spowodowałaby wyjście tylko z pętli wewnętrznej (a instrukcji break z etykietą, znanej z Javy, w C/C++ nie ma).
Innym rodzajem etykiet są etykiety w instrukcji switch. Jest ich tylko dwie: case i default (podrozdział o instrukcji switch ).
T.R. Werner, 23 lutego 2022; 19:40