It is important to understand that operators have a precedence, but it is not essential to memorize the precedence.
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; they will be evaluated first. The lower the rank in the following chart, the higher the precedence.
Rank Name Operator
1 scope resolution ::
2 member selection, subscripting, . ->
function calls, postfix increment ()
and decrement ++ -
3 sizeof, prefix increment and decrement ++ -
complement and not unary minus and plus ^ !
address of and dereference new and delete - +
casting sizeof() new delete delete[] & *
()
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 ,
Go to: Table of Contents | Next Page