Klaus Mock: if & else C++ Syntax

Beitrag lesen

Hallo,

was hälst Du von Klammer, wenn etwas zusammenghören soll ;o)?

Das ist in dem Fall nicht sinnvoll. Bloecke grenzen eine Abfolge von
Befehlen ein, hier soll allerdings nur ein Befehl ausgefuehrt werden.

Wobei Blöcke aber AFAIK zu noch etwas anderes dienen. Sie definieren einen neuen Gültigkeitsbereich (steinige mich jetzt nicht wegen der eventuell nicht 'normgerechten' Wortwahl).

Dadurch können Blöcke auch ohne Verzweigungen oder Schleifen durchaus sinnvoll sein.
Beispiel:

char buf[100];

machwasmit(buf);
...
machnochwas(buf);

{
char buf[200];
tuwasmit(buf);
tunochwasmit(buf);
}

undweitermitoriginalem(buf);

Je nach Compiler (und dessen Optimierungsvermögen) heißt das allerdings auch, daß Blöcke zusätzlichen Maschinencode bedeuten. Nämlich zumindest um den Stack(pointer) am Anfang des Blockes zu sichern, und diesen am Ende wieder herzustellen.

Grüße
  Klaus