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