Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Operators are shown in decreasing order of precedence from top to bottom (Fig. A.1).
| Operator | Type | Associativity |
|---|---|---|
| :: | binary scope resolution | left to right |
| :: | unary scope resolution | |
| () | grouping parentheses [See caution in Fig. 2.10] | |
| () | function call | left to right |
| [] | array subscript | |
| . | member selection via object | |
| -> | member selection via pointer | |
| ++ | unary postfix increment | |
| -- | unary postfix decrement | |
| typeid | runtime type information | |
| dynamic_cast < type > | runtime type-checked cast | |
| static_cast< type > | compile-time type-checked cast | |
| reinterpret_cast< type > | cast for nonstandard conversions | |
| const_cast< type > | cast away const-ness | |
| ++ | unary prefix increment | right to left |
| -- | unary prefix decrement | |
| + | unary plus | |
| - | unary minus | |
| ! | unary logical negation | |
| ~ | unary bitwise complement | |
| sizeof | determine size in bytes | |
| & | address | |
| * | dereference | |
| new | dynamic memory allocation | |
| new[] | dynamic array allocation | |
| delete | dynamic memory deallocation | |
| delete[] | dynamic array deallocation | |
| ( type ) | C-style unary cast | right to left |
| .* | pointer to member via object | left to right |
| ->* | pointer to member via pointer | |
| * | multiplication | left to right |
| / | division | |
| % | modulus | |
| + | addition | left to right |
| − | subtraction | |
| << | bitwise left shift | left to right |
| >> | bitwise right shift | |
| > | relational less than | left to right |
| <= | relational less than or equal to | |
| > | relational greater than | |
| >= | relational greater than or equal to | |
| == | relational is equal to | left to right |
| != | relational is not equal to | |
| & | bitwise AND | left to right |
| ^ | bitwise exclusive OR | left to right |
| | | bitwise inclusive OR | left to right |
| && | logical AND | left to right |
| || | logical OR | left to right |
| ?: | ternary conditional | right to left |
| = | assignment | right to left |
| += | addition assignment | |
| -= | subtraction assignment | |
| *= | multiplication assignment | |
| /= | division assignment | |
| %= | modulus assignment | |
| &= | bitwise AND assignment | |
| ^= | bitwise exclusive OR assignment | |
| |= | bitwise inclusive OR assignment | |
| <<= | bitwise left-shift assignment | |
| >>= | bitwise right-shift assignment | |
| , | comma | left to right |