W C++ jedyną instrukcją z podanych, która opuszcza funkcję i jednocześnie (gdy funkcja nie jest typu void) może ustawić wartość zwracaną, jest return.
Dlaczego "return" jest poprawne?
Instrukcja return natychmiast kończy wykonywanie funkcji. Jeżeli funkcja ma typ zwracany (np. int, bool, std::string), to po słowie kluczowym można podać wyrażenie, którego wartość staje się wynikiem funkcji (np. zwrot kodu błędu, obliczonej wartości, informacji o powodzeniu).
Dlaczego pozostałe odpowiedzi są niepoprawne?
- break przerywa najbliższą pętlę (for/while/do-while) albo instrukcję switch. Nie służy do wychodzenia z funkcji i nie ustawia wartości zwracanej funkcji.
- continue nie kończy pętli, tylko pomija resztę bieżącej iteracji i przechodzi do kolejnej iteracji. Działa wyłącznie w kontekście pętli, nie kończy funkcji.
- goto wykonuje skok do etykiety w tej samej funkcji. Zmienia miejsce kontynuacji wykonywania kodu, ale nie jest mechanizmem zwrotu wartości i standardowo nie jest używany do "opuszczania funkcji" z ustawieniem wyniku.
Wskazówka egzaminacyjna: jeśli w treści pojawia się jednocześnie "opuszczenie funkcji" i "wartość zwracana", niemal zawsze chodzi o return. Dla pętli kluczowe są zwykle break (przerwanie) i continue (następna iteracja).