Saltar al contenido principal

Operador

Este documento recopila operadores realmente utilizables según el compilador actual.

Aritmética

OperadorDescripción
+Adición
-Sustracción
*Multiplicación
/División
%Módulo

Comparación

OperadorDescripción
==Igual
!=Distinto
<Menor
<=Menor o igual
>Mayor
>=Mayor o igual

Lógica

OperadorDescripción
&&Lógico AND
\`\Lógico OR
!Lógico NOT

Bit

OperadorDescripción
&Bit AND
\`\Bit OR
^Bit XOR
~NOT de bit
<<Shift a la izquierda
>>Shift a la derecha

Asignación

OperadorDescripción
=Asignación básica
+=Asignación después de la suma
-=Asignación después de la resta
*=Asignación después de la multiplicación
/=Asignación después de la división
%=Asignación después del módulo

Unario / Puntero / Conversión

Operador/Palabra claveDescripción
++, --Incremento/Decremento prefijo/sufijo
&xObtención de dirección
deref pDesreferenciación de punteros
expr as TConversión explícita

Operaciones de puntero

ExpresiónResultado
ptr<T> + intptr<T> (desplazamiento GEP)
int + ptr<T>ptr<T> (desplazamiento GEP)
ptr<T> - intptr<T> (desplazamiento GEP)
ptr<T> - ptr<T>i64 (diferencia en bytes)
ptr == ptr, ptr != ptrComparación de punteros

Elementos reservados o no implementados

Existen tokens gramaticales que no son compatibles con las operaciones expresionales actuales. Por ejemplo: ??, ?:, in, is, !&, !|, ~^.