Aber im Tutorial steht:
Bedingung = false, Weiterverarbeitung wird unterbunden. (genaues Gegenteil zu dem, was ich oben geschrieben habe)
Es tut mir Leid, wenn ich hier aufm Schlauch stehe und total dumme Fragen stelle =)
Du darfst Sätze nicht aus dem Kontext reißen! Im Wiki steht folgendes:
Es gibt in C zwei Möglichkeiten auf Bedingungen einzugehen. Die hier gezeigte fragt die Bedingung ab und verschachtelt dann im Then-Part. Wenn's passt, dann… Es gibt aber auch eine andere Vorgehensweise: Wenn's nicht passt, dann höre auf. Man stellt sich einen Türsteher vor den „Then-Part“, der - wenn die Bedingung nicht erfüllt ist - die Weiterverarbeitung unterbindet. Einen solchen Türsteher nennt man “Wächter“ oder - damit man ein schöneres Buzzword hat - auch “Precondition“.
Hier wird NICHT über den Code gesprochen, sondern über ein Konzept.
Das Konzept nennt sich "Wächter".
Es Bezieht sich auf folgendes Problem:
Code: Alles auswählen
if(Bedingung Wahr)
{
//bearbeitet man halt weiter
if(Bedingung2 Wahr)
{
//weiterarbeiten
///und vlt noch 3-4 eben ifs weiter
}
}
Hier wird eine Verarbeitung fortgesetzt, wenn eine Bedingung wahr ist, was dazu führt, dass man immer mehr ifs verschachtelt. Man bemerkt aber, dass es kein else gibt, es also nur die Bedingung Bearbeiten oder Abbrechen gibt. Da du ja egt keine Befehle zum Abbrechen hast, bist du ja erstmal darauf angewiesen, diese Verschachtelung zu machen.
Daher werden nun die Schlüsselworte "continue" und "break" eingeführt. Damit kannst du den Programmfluss steuern, damit was das Abbrechen ermöglicht.
Damit kannst du den oben gezeigten Pseudocode abändern:
Code: Alles auswählen
if(Bedingung 1 falsch)
{
continue;
}
//bearbeite weiter, wenn Bedingung 1 wahr ist
if(Bedingung 2 falsch)
{
continue;
}
//....
Das Konzept wird eben Wächter genannt, weil du eben immer nur darüber Wachst, ob alle Bedingungen eingehalten werden.
Redundanz macht wiederholen unnötig.
quod erat expectandum