Hi lina,
if (x = 1) {
[...]
- in einer If-Abfrage ne Zuweisung zu setzen ist Quark
In diesem Beispiel schon. Aber grundsätzlich kann das durchaus sinnvoll sein. Beispiel gefällig? Es möge eine Funktion GetState() existieren, die z.B. den Zustand eines Objekts abfragt. Dann könnte
if (x=GetState(obj))
{ // more checks,
// x is current state.
}
else
{ // State #0: Idle
}
schon sinnvoll sein.
Auch in C mache ich sowas häufig. Klassiker sind Funktionen wie malloc(), die einen Zeiger liefern, wenn alles in Ordnung ist, oder NULL im Fehlerfall:
if (p=malloc(0x4000))
{ // p ist gültig zeigt auf einen 16k großen
// Speicherblock, der genutzt werden darf
}
else
{ // Fehler bei der Speicherreservierung
}
Ich nehme an, du wolltest if(x==1) schreiben ;)
Ja, das wollte Philip mit Sicherheit - obwohl er ja eine Reihe besserer Vorschläge bekommen hat. Der eleganteste davon ist meiner Ansicht nach
x = !x;
Schönes Wochenende noch,
Martin