Handbuch zur dynamischen Ablaufverfolgung in Solaris

Zuweisungsoperatoren

D bietet die folgenden binären Zuweisungsoperatoren zum Ändern von D-Variablen. Nur D-Variablen und Vektoren lassen sich ändern. Kerneldatenobjekte und Konstanten können mit den D-Zuweisungsoperatoren nicht geändert werden. Die Zuweisungsoperatoren haben dieselbe Bedeutung wie in ANSI-C.

Tabelle 2–10 Zuweisungsoperatoren in D

=

Linken Operanden mit rechtem Ausdruckswert gleichsetzen 

+=

Linken Operanden um den rechten Ausdruckswert erhöhen 

-=

Linken Operanden um den rechten Ausdruckswert verringern 

*=

Linken Operanden mit dem rechten Ausdruckswert multiplizieren 

/=

Linken Operanden durch den rechten Ausdruckswert dividieren 

%=

Rest des linken Operanden mit dem rechten Ausdruckswert als Divisor errechnen 

|=

Bitweise ODER-Operation an linkem Operanden mit rechtem Ausdruckswert durchführen 

&=

Bitweise UND-Operation an linkem Operanden mit rechtem Ausdruckswert durchführen 

^=

Bitweise EXKLUSIV-ODER-Operation an linkem Operanden mit rechtem Ausdruckswert durchführen 

<<=

Operanden auf linker Seite um die mit dem Ausdruckswert auf der rechten Seite angegebene Bitanzahl nach links verschieben 

>>=

Operanden auf linker Seite um die mit dem Ausdruckswert auf der rechten Seite angegebene Bitanzahl nach rechts verschieben 

Alle Zuweisungsoperatoren außer = dienen als Kurzform für die Verwendung des Operators = mit einem der weiter oben beschriebenen Operatoren. So ist beispielsweise der Ausdruck x = x + 1 gleichwertig mit dem Ausdruck x += 1, bis auf die Tatsache, dass der Ausdruck x einmal ausgewertet wird. Diese Zuweisungsoperatoren unterliegen denselben Regeln für Operandentypen wie die bereits beschriebenen binären Formen.

Das Ergebnis jedes Zuweisungsoperators ist ein Ausdruck gleich dem neuen Wert des Ausdrucks auf der linken Seite. Sie können die Zuweisungsoperatoren sowie alle bisher genannten Operatoren kombinieren, um Ausdrücke von beliebiger Komplexität zu formen. Terme in komplexen Ausdrücken können durch Klammern ( ) gruppiert werden.