C/C++ Thread
22.08.2013 um 10:40@McNeal
void copy_datei(von, nach) {
if (!oeffne_datei(von))
return;
if (!oeffne_datei(nach))
goto aufraeumen;
copy(von, nach);
schliesse_datei(nach);
aufraeumen:
schliesse_datei(von);
}
Ohne goto hätte man hier verschachtelte if's, die sehr tief werden können, wenn noch mehr Abhängigkeiten im Programm auftreten. Hier war es ja nur eine.
Der Linux-Kernel ist übrigens voll mit gotos.
Zäld
McNeal schrieb:Nie nie nie nie niemals goto verwenden.Na das stimmt so nun auch wieder nicht, es gibt ein paar praktische Fälle, wo das absolut sinnvoll ist:
void copy_datei(von, nach) {
if (!oeffne_datei(von))
return;
if (!oeffne_datei(nach))
goto aufraeumen;
copy(von, nach);
schliesse_datei(nach);
aufraeumen:
schliesse_datei(von);
}
Ohne goto hätte man hier verschachtelte if's, die sehr tief werden können, wenn noch mehr Abhängigkeiten im Programm auftreten. Hier war es ja nur eine.
Der Linux-Kernel ist übrigens voll mit gotos.
Zäld