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
