C++ Academy · Lektion

Vorzeitige Rückgaben, break, continue und goto

Strukturieren Sie verschachtelte Bedingungen mit vorzeitigen Rückgaben um und verwenden Sie break, continue und goto mit Bedacht.

Lektion 4 von 413 Schritte

Vorzeitige Rückgaben, break, continue und goto ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Die Pyramide des Grauens

Tief verschachtelte Bedingungen sind schwer zu lesen. Vorzeitige Rückgaben reduzieren die Verschachtelung erheblich.

// Pyramid
int process(int n) {
    if (n >= 0) {
        if (n < 100) {
            if (isValid(n)) {
                return compute(n);
            }
        }
    }
    return -1;
}

Mit vorzeitigen Rückgaben umstrukturieren

Beenden Sie die Ausführung, sobald eine Vorbedingung nicht erfüllt ist. Jede Guard Clause ist eine flache einzeilige Prüfung.

int process(int n) {
    if (n < 0)      return -1;
    if (n >= 100)   return -1;
    if (!isValid(n)) return -1;
    return compute(n);
}

Guard Clauses

Eine Guard Clause weist ungültige Eingaben am Anfang einer Funktion zurück. Dadurch wird der normale Ausführungspfad offensichtlich.

break in Schleifen

Beenden Sie eine Schleife, sobald Sie gefunden haben, wonach Sie suchen, oder sobald ein Fehler eine Fortsetzung sinnlos macht.

continue: Den Rest überspringen

Verwenden Sie continue, um nicht zutreffende Fälle zu überspringen, ohne den restlichen Rumpf zu verschachteln.

for (auto& item : items) {
    if (item.skipped) continue;
    process(item);
}

Verschachtelte Schleifen verlassen

break beendet nur eine Ebene. Für das Verlassen mehrerer Ebenen können Sie ein Flag verwenden, die Logik in eine Funktion auslagern oder als letzten Ausweg goto einsetzen.

bool found = false;
for (int i = 0; i < n && !found; ++i) {
    for (int j = 0; j < m; ++j) {
        if (grid[i][j] == target) {
            found = true;
            break;
        }
    }
}

Die goto-Anweisung

C++ übernimmt goto aus C. Moderner Code benötigt es nur selten – eine legitime Verwendung ist jedoch das Verlassen verschachtelter Schleifen oder Fehlerpfade.

for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) {
        if (error_condition) goto cleanup;
    }
}

cleanup:
free_resources();

Warum goto nicht empfohlen wird

Beliebige Sprünge erschweren es, dem Kontrollfluss zu folgen. Versuchen Sie zuerst, den Code umzuarbeiten oder Flags zu verwenden. Reservieren Sie goto für seltene Bereinigungspfade in hardwarenaher Programmierung.

goto entfernen

Die meisten Verwendungen von goto können ersetzt werden durch:

  • Auslagern des inneren Blocks in eine Funktion
  • Verwenden einer Flag-Variable
  • Auslösen und Abfangen einer Ausnahme

return in Destruktoren

Sie können einen Destruktor nicht mit return; am Anfang vorzeitig verlassen – Destruktoren geben keine Werte zurück. Sie können ihn jedoch mit vorzeitigen Bedingungen strukturieren, um Arbeit zu überspringen.

Der Single-Exit-Stil (alt)

Älterer Code verwendete manchmal ein einzelnes return am Ende und eine Ergebnisvariable. Modernes C++ bevorzugt aus Gründen der Klarheit mehrere vorzeitige Rückgaben. RAII übernimmt die Bereinigung automatisch.

Kurzer Test

Welche Kontrollfluss-Technik ersetzt verschachtelte if-else-Ketten in einer Funktion am übersichtlichsten?

Zusammenfassung

Verwenden Sie vorzeitige Rückgaben als Guard Clauses, break und continue sparsam für eine klare Absicht und goto nur für seltene Ausstiege aus verschachtelten Schleifen oder Bereinigungspfade. Ziel ist ein lesbarer, flacher Kontrollfluss.

Kostenlos starten

Lerne C++ mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
51
Lektionen
203

Häufig gestellte Fragen

Ist die Lektion „Vorzeitige Rückgaben, break, continue und goto“ kostenlos?

Ja — der vollständige Text von „Vorzeitige Rückgaben, break, continue und goto“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Vorzeitige Rückgaben, break, continue und goto“?

Strukturieren Sie verschachtelte Bedingungen mit vorzeitigen Rückgaben um und verwenden Sie break, continue und goto mit Bedacht. Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Vorzeitige Rückgaben, break, continue und goto“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Verzweigungen: if-else, ternär, switch-case
  2. Schleifenmuster: for, while, do-while
  3. Range-basierte for-Schleifen mit Containern
  4. Vorzeitige Rückgaben, break, continue und goto
← Zurück zu C++ Academy