C++ Operator Precedence
Operator
::
::
Associativity
right
left
Overloadable
no
no
Arity
unary
binary
Description______________
global scope
class scope
.
->
[]
()
()
left
left
left
left
left
no
yes
yes
yes
yes
binary
binary
binary
n/a
n/a
direct member selection
indirect member selection
subscript (array index)
function call
type construction
sizeof
++ -!
+*
&
new
delete
()
right
right
right
right
right
right
right
right
right
n/a
yes
yes
yes
yes
yes
yes
yes
yes
unary
unary
unary
unary
unary
unary
unary
unary
binary
size in bytes of object or type
increment, decrement
logical NOT
plus, minus signs
pointer dereferencing
get address of an object
memory allocation
memory deallocation
type conversion (cast)
* / %
left
yes
binary
multiplication, division, modulus
+-
left
yes
binary
addition, subtraction
<< >>
left
yes
binary
bit-shift left, right
< <= > >=
left
yes
binary
comparison
== !=
left
yes
binary
equality, inequality
&
^
|
left
left
left
yes
yes
yes
binary
binary
binary
bitwise AND
bitwise XOR
bitwise OR
&&
||
left
left
yes
yes
binary
binary
logical AND
logical OR
?:
right
no
ternary
conditional expression
= += -=
*= /= %=
&= |= ^=
right
yes
binary
assignment variations
throw
right
yes
binary
throw an exception
left
yes
binary
expression separation