Stellen Sie sich vor, daß Sie in Ihrem Abenteuerspiel an allen Orten einen Pilz plazieren wollten, an dem sowohl die x- als auch die y-Koordienate ein Vielfaches von 7 sind. (Wie vieleicht bekannt ist, verleihen die Pilze den Spieler magische Kräfte, wenn sie von ihm verzehrt werden.) Der verbleibende Rest von x geteilt durch 7, welcher mit dem Ausdruck x&7 berechnet werden kann, ist nur dann 0, wenn x ein Vielfaches von 7 ist. Um die Position der Pilze zu bestimmen, können wir also folgendes schreiben:
Wenn Sie sich zurückrufen, daß ausdrücke wahr oder unwahr sind, selbst wenn sie keinen Verkleichsoperatoren einschließen, können Sie den Operator ! einsetzen, um eine prägnante Form zu erhalten:if( x%7==0 && y%7==0 ) cout << "Hier ist ein Pilz.\n";
if( !(x%7) && !(y%7) ) // Wenn nicht x%7 und nicht y&7
diese Ausdrucksform hat genau dieselbe Wirkung.
Lassen Sie uns die Fakten der Bewertungsreihenfolge für die Operatoren zusammenfassen, die wir bis jetzt kennengelernt haben. Die Operatoren, Die in der Liste weiter oben stehen, genießen Vorang vor denen, die in der Liste unter ihnen stehen. Operatoren mir höheren Rang in der Bewertungsreihenfolge werden vor denen mit niedrigerem Rang berechnet. Operatoren in derselben Reihe haben den gleichen Rang. Sie können erzwingen, daß ein Ausdruck vorrangig berechnet wird, indem Sie runde Klammern um ihn setzen.
Operatortyp | Operatoren |
---|---|
Unär | !, ++, --, - |
Multiplikativ | *, /, % |
Additiv | +, - |
Ungleichheit | <, >, <=, >= |
Gleichheit | ==, != |
und | && |
oder | || |
Bedingung | ?: |
Zuweisung | =, +=, -=, *=, /=, %= |