Zuweisungsoperatoren

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Binäre Operatoren - Index

Syntax

unärer-ausdruck  zuweisungs-operator  zuweisungs-ausdruck

Bemerkungen

Es gibt folgende Zuweisungsoperatoren:

= *= /=  %= += -=
<<= >>= &= ^= |=

Der Operator = ist dabei der einzige einfache Zuweisungsoperator, die anderen sind kombinierte Zuweisungsoperatoren.

Im Ausdruck E1 = E2 muss E1 ein modifizierbarer L-Wert sein. Der Zuweisungsausdruck selbst ist kein L-Wert.

Der Ausdruck

E1 op= E2

hat den gleichen Effekt wie

E1 = E1 op E2

außer, dass der L-Wert E1 im ersten Fall nur einmal ausgewertet wird. Beispiel: E1 += E2 ist gleichwertig mit E1 = E1 + E2.

Der Wert des Zuweisungsausdrucks nach Ausführung der Zuweisung ist E1.

Bei einfachen sowie bei kombinierten Zuweisungen müssen die Operanden E1 und E2 einer der folgenden Bedingungen entsprechen:

  1. E1 ist eine qualifizierte oder unqualifizierte Version eines arithmetischen Typs, und E2 hat einen arithmetischen Typ.
  2. E1 ist eine qualifizierte oder unqualifizierte Version eines Struktur- oder Varianten-Typs, der mit dem Typ von E2 kompatibel ist.
  3. E1 und E2 sind Zeiger auf qualifizierte oder unqualifizierte Versionen von kompatiblen Typen, und der Typ, auf den der linke Zeiger zeigt, hat alle Qualifizierer des Typs, auf den der rechte Zeiger zeigt.
  4. E1 oder E2 ist ein Zeiger auf ein Objekt oder auf einen unvollständigen Typ, und der jeweils andere Ausdruck ist ein Zeiger auf eine qualifizierte oder unqualifizierte Version des Typs void. Der Typ, der links gezeigt wird, hat alle Qualifizierer des rechts gezeigten Typs.
  5. E1 ist ein Zeiger, und E2 ist die Nullzeiger-Konstante (NULL).

Anmerkung: Leerzeichen innerhalb der Operatoren für kombinierte Zuweisung (zum Beispiel +<Leerzeichen>=) führen zu Fehlern.

Anmerkung: Unter bestimmten Bedingungen werden Zuweisungsoperatoren bei Eigenschaften nicht unterstützt.