\C++ Operator Precedence and Associativity
Operator Description Operator
Group 1 precedence, no associativity
1. Scope resolution ::
Group 2 precedence, left to right associativity
1. Member selection (object or pointer) . or –>
2. Array subscript []
3. Function call ()
4. Postfix increment ++
5. Postfix decrement ––
6. Type name typeid( )
7. Constant type conversion const_cast
8. Dynamic type conversion dynamic_cast
9. Reinterpreted type conversion reinterpret_cast
10. Static type conversion static_cast
Group 3 precedence, right to left associativity
1. Size of object or type sizeof
2. Prefix increment ++
3. Prefix decrement ––
4. One's complement ~
5. Logical not !
6. Unary negation -
7. Unary plus +
8. Address-of &
9. Indirection *
10. Create object new
11. Destroy object delete
12. Cast Cast: ()
Group 4 precedence, left to right associativity
1. Pointer-to-member (objects or pointers) .* or –>*
Group 5 precedence, left to right associativity
1. Multiplication *
2. Division /
3. Modulus %
Group 6 precedence, left to right associativity
1. Addition +
2. Subtraction –
Group 7 precedence, left to right associativity
1. Left shift <<
2. Right shift >>
Group 8 precedence, left to right associativity
1. Less than <
2. Greater than >
3. Less than or equal to <=
4. Greater than or equal to >=
Group 9 precedence, left to right associativity
1. Equality ==
2. Inequality !=
Group 10 precedence left to right associativity
1. Bitwise AND &
Group 11 precedence, left to right associativity
1. Bitwise exclusive OR ^
Group 12 precedence, left to right associativity
1. Bitwise inclusive OR |
Group 13 precedence, left to right associativity
1. Logical AND &&
Group 14 precedence, left to right associativity
1. Logical OR ||
Group 15 precedence, right to left associativity
1. Conditional ?:
Group 16 precedence, right to left associativity
1. Assignment =
2. Multiplication assignment *=
3. Division assignment /=
4. Modulus assignment %=
5. Addition assignment +=
6. Subtraction assignment –=
7. Left-shift assignment <<=
8. Right-shift assignment >>=
9. Bitwise AND assignment &=
10. Bitwise inclusive OR assignment |=
11. Bitwise exclusive OR assignment ^=
Group 17 precedence, right to left associativity
1. throw expression throw
Group 18 precedence, left to right associativity
1. Comma ,