C++ Operator Precedence
Level | Operator(s) | Description | Associativity |
---|---|---|---|
17 |
:: | global scope (unary) | right-to-left |
17 |
:: | class scope (binary) | left-to-right |
16 |
-> . | member selectors | left-to-right |
16 |
[ ] | array index | left-to-right |
16 |
( ) | function call | left-to-right |
16 |
( ) | type construction | left-to-right |
16 |
sizeof | size in bytes | left-to-right |
15 |
++ -- | increment, decrement | right-to-left |
15 |
~ | bitwise NOT | right-to-left |
15 |
! | logical NOT | right-to-left |
15 |
+ - | unary plus, minus | right-to-left |
15 |
* & | dereference, address-of | right-to-left |
15 |
( ) | cast | right-to-left |
15 |
new delete | free store management | right-to-left |
14 |
->* .* | member pointer selectors | left-to-right |
13 |
* / % | multiplicative operators | left-to-right |
12 |
+ - | arithmetic operators | left-to-right |
11 |
<< >> | bitwise shift | left-to-right |
10 |
< <= > >= | relational operators | left-to-right |
9 |
== != | equality, inequality | left-to-right |
8 |
& | bitwise AND | left-to-right |
7 |
^ | bitwise exclusive OR | left-to-right |
6 |
| | bitwise inclusive OR | left-to-right |
5 |
&& | logical AND | left-to-right |
4 |
|| | logical OR | left-to-right |
3 |
? : | arithmetic if | left-to-right |
2 |
= *= /* %= += -= <<= >>= &= |= ^= |
assignment operators | right-to-left |
1 |
, | comma operator | left-to-right |
Updated: 06/14/2018 11:44AM