 ##    Appendix A 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, . -> function calls, postfix increment () 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 ,