Zum Hauptinhalt springen

Operatoren

Dieses Dokument fasst die tatsächlich verwendbaren Operatoren basierend auf dem aktuellen Compiler zusammen.

Arithmetik

OperatorBeschreibung
+Addition
-Subtraktion
*Multiplikation
/Division
%Rest

Vergleich

OperatorBeschreibung
==gleich
!=ungleich
<kleiner
<=kleiner oder gleich
>größer
>=größer oder gleich

Logik

OperatorBeschreibung
&&Logisches UND
\`\Logisches ODER
!Logisches NICHT

Bit

OperatorBeschreibung
&Bitweises UND
\`\Bitweises ODER
^Bitweises XOR
~Bitweises NICHT
<<Linksshift
>>Rechtsshift

Zuweisung

OperatorBeschreibung
=Grundzuweisung
+=Addition und Zuweisung
-=Subtraktion und Zuweisung
*=Multiplikation und Zuweisung
/=Division und Zuweisung
%=Modulo und Zuweisung

Unär/Zeiger/Cast

Operator/SchlüsselwortBeschreibung
++, --Inkrement/Dekrement
&xAdressgewinnung
deref pZeiger-Dereferenzierung
expr as TExplizites Casting

Zeigeroperation

AusdruckErgebnis
ptr<T> + intptr<T> (GEP-Verschiebung)
int + ptr<T>ptr<T> (GEP-Verschiebung)
ptr<T> - intptr<T> (GEP-Verschiebung)
ptr<T> - ptr<T>i64 (Byte-Differenz)
ptr == ptr, ptr != ptrZeigervergleich

Reservierte oder nicht implementierte Elemente

Es gibt Syntax-Token, die existieren, aber derzeit nicht von Ausdrucksoperationen unterstützt werden. Beispiele: ??, ?:, in, is, !&, !|, ~^.