verlassen eines temporary scopes oder try blockes
-
cooky451 schrieb:
Was gefällt dir denn nicht an meiner Variante?
meinst du das ?
cooky451 schrieb:
Ich würde es so machen (wenn umstrukturieren wirklich nicht geht):
bool b = true; b && b = f1(); b && b = f2(); b && b = f3(); b && b = f4(); // ...ehrlich gesagt versteh ich nicht inwiefern das hilfreich sein soll.
Meep Meep
-
Es ist doch genau das, was du willst. Die Funktionen werden ausgeführt solange b true ist, ohne dass die Einrückungstiefe immer weiter steigt.
-
hola cooky
nunja es ist zum teil das was ich moechte.
ich habe ja ueberall noch eine abfrage fuer false dabei und die ist fast bei jeder funktion anders. was mich auch noch etwas stoert ist das die ueberpruefung fuer jede funktion durchgefuehrt wird, auch wenn ich bei der ersten urberpruefung schon ein false bekommen wuerde.Meep Meep
-
Meep Meep schrieb:
was mich auch noch etwas stoert ist das die ueberpruefung fuer jede funktion durchgefuehrt wird, auch wenn ich bei der ersten urberpruefung schon ein false bekommen wuerde.
Eben nicht. bei
b && blahwird blah nicht mehr ausgewertet, wenn b schon false ist. (google: short circuit evaluation)
-
hab michwohl etwas bloed ausgedrueckt.
Meep Meep schrieb:
was mich auch noch etwas stoert ist das die ueberpruefung fuer jede funktion durchgefuehrt wird
damit meinte ich das fuer jede funktion geprueft wird ob sie ausgefuert werden muss.
bool b = true; b && b = f1(); b && b = f2(); b && b = f3(); b && b = f4();wenn f1 false zurueck gibt, wird trotzdem noch 3 mal b geprueft. das meinte ich.
Meep Meep
-
Ohne vier Seiten Thread zu lesen (Entschuldigung, wenn ich ganz daneben liege):
b = b && f1() && f2() && f3() && f4()
-
Meep Meep schrieb:
wenn f1 false zurueck gibt, wird trotzdem noch 3 mal b geprueft. das meinte ich.
Nicht zwangsläufig. Der Compiler kann sowas oft optimieren.
Aber selbst wenn - wo wäre das Problem? b ist ein bool, und der liegt eh schon in einem register. Also kosten sind 0. Und würde mich nicht wundern wenn der Compiler das sogar wegoptimieren könnte.
-
Shade Of Mine schrieb:
Meep Meep schrieb:
wenn f1 false zurueck gibt, wird trotzdem noch 3 mal b geprueft. das meinte ich.
Nicht zwangsläufig. Der Compiler kann sowas oft optimieren.
Aber selbst wenn - wo wäre das Problem?
kein problem. vielleicht schafft der compiler es da von wegzuoptimieren. vielleicht aber auch nicht. ist auch nicht wichtig. mir gefaellt es alleine optisch nicht. davon abgesehen das es bei meinem problem nicht dienlich waere
-
Fahr zur Hoelle und benutze
goto!
-
knivil schrieb:
Fahr zur Hoelle und benutze
goto!longjmp direkt aus der Funktion heraus!

-
knivil schrieb:
Fahr zur Hoelle und benutze
goto!geht´s noch ?
-
Meep Meep schrieb:
knivil schrieb:
Fahr zur Hoelle und benutze
goto!geht´s noch ?
Ruhig Blut.

Das ist nicht so ernst gemeint, wie es klingt...
http://channel9.msdn.com/achievements/visualstudio/GotoAchievement