| 1 | :: | Scope resolution | Left-to-right |
|---|
| 2 | ++ -- | Suffix/postfix increment and decrement |
|---|
| () | Function call |
| [] | Array subscripting |
| . | Element selection by reference |
| −> | Element selection through pointer |
| 3 | ++ -- | Prefix increment and decrement | Right-to-left |
|---|
| + − | Unary plus and minus |
| ! ~ | Logical NOT and bitwise NOT |
| (type) | Type cast |
| * | Indirection (dereference) |
| & | Address-of |
| sizeof | Size-of |
| new, new[] | Dynamic memory allocation |
| delete, delete[] | Dynamic memory deallocation |
| 4 | .* ->* | Pointer to member | Left-to-right |
|---|
| 5 | * / % | Multiplication, division, and remainder |
|---|
| 6 | + − | Addition and subtraction |
|---|
| 7 | << >> | Bitwise left shift and right shift |
|---|
| 8 | < <= | For relational operators < and ≤ respectively |
|---|
| > >= | For relational operators > and ≥ respectively |
| 9 | == != | For relational = and ≠ respectively |
|---|
| 10 | & | Bitwise AND |
|---|
| 11 | ^ | Bitwise XOR (exclusive or) |
|---|
| 12 | | | Bitwise OR (inclusive or) |
|---|
| 13 | && | Logical AND |
|---|
| 14 | || | Logical OR |
|---|
| 15 | ?: | Ternary conditional | Right-to-Left |
|---|
| 16 | = | Direct assignment (provided by default for C++ classes) |
|---|
| += −= | Assignment by sum and difference |
| *= /= %= | Assignment by product, quotient, and remainder |
| <<= >>= | Assignment by bitwise left shift and right shift |
| &= ^= |= | Assignment by bitwise AND, XOR, and OR |
| 17 | throw | Throw operator (for exceptions) |
|---|
| 18 | , | Comma | Left-to-right |
|---|