Operator Precedence

Introduction

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