Hallo Lukas,
hier wird variable
- mit dem Ergebnis von
boolescheFunktion()
initialisiert - und falls es (sich wie) ein wahrer Wert ist (verhält), wird der Block ausgeführt.
if (variable = boolescheFunktion()) { macheEtwasMit(variable); // … }
Und wo soll dann der Unterschied zu
if (variable == boolescheFunktion()) { macheEtwasMit(variable); // … }
sein, außer, dass dann das true-Ergebnis im if-Bereich steht und das false-Ergebnis im else-Bereich?
In deinem Beispiel findet keine Zuweisung statt, sondern nur ein Vergleich. OK, vielleicht hätte ich bei C-ähnlicher Syntax der Funktion auch einen besseren Namen geben sollen, wie z.B. intFunktion()
, dann wäre es gleich klar. In C (und verwandten Sprachen) gibt es Typen, die als boolesch verglichen werden können, z.B. int
oder Pointer (in C++ mit der Überladung des operator bool
sogar noch viel mehr).
Viele Grüße
Robert