In expressions, the operator with the highest precedence is always computed first.
Unary operators have the higher precedence than other operators, and between unary operators the operator closest to the actual value has the highest precedence. Post-operators have higher precedence than pre-operators.
This list shows the available unary operators.
:: | scope resolution operator |
[] | indexing operator |
++ -- | post increment and decrement |
. | member access |
++ -- | pre increment and decrement |
not ! | logical not |
+ - | unary positive and negative |
~ | bitwise complement |
@ | handle of |
This list shows the dual and ternary operator precedence in decreasing order.
** | exponent |
* / % | multiply, divide, and modulo |
+ - | add and subtract |
<< >> >>> | left shift, right shift, and arithmetic right shift |
& | bitwise and |
^ | bitwise xor |
| | bitwise or |
<= < >= > | comparison |
== != is !is xor ^^ | equality, identity, and logical exclusive or |
and && | logical and |
or || | logical or |
?: | condition |
= += -= *= /= %= **= &= | assignment and compound assignments |