Operator Precedence

It is important to understand that operators have a precedence, but it is not essential to memorize the precedence.

New Term: Precedence is the order in which a program performs the operations in a formula. If one operator has precedence over another operator, it is evaluated first.

Higher precedence operators "bind tighter" than lower precedence operators; thus, higher precedence operators are evaluated first. The lower the rank in the following chart, the higher the precedence.

Table A.1. Operator Precedence.

Rank Name Operator
1 scope resolution ::
2 member selection, subscripting, . ->
    ()
  and decrement ++ --
3 sizeof, prefix increment and decrement, ++ --
  complement, and, not, unary minus and plus, ^ !
  address of and dereference, new, new[], delete, - +
  delete[], casting, sizeof(), & *
    ()
4 member selection for pointer .* ->*
5 multiply, divide, modulo * / %
6 add, subtract + -
7 shift << >>
8 inequality relational < <= > >=
9 equality, inequality == !=
10 bitwise AND &
11 bitwise exclusive OR ^
12 bitwise OR |
13 logical AND &&
14 logical OR ||
15 conditional ?:
16 assignment operators = *= /= %=
    += -= <<= >>=
    &= |= ^=
17 throw operator throw
18 comma ,

Loading ...

About the Author