Summary: An abbreviated precedence chart for C++ operators typically used in a modular structured programming fundamentals course.
Note: You are viewing an old version of this document. The latest version is available here.
An operator is a languagespecific syntactical token (one or more symbols) that causes an action to be taken on one or more operands. The following item provides an abbreviated list of those C++ operators that are typically taught in a programming fundamentals course that teaches modular structured programming concepts.
The first column shows the precedence (the higher precedence is 1 or it goes first) and operators that have the same precedence also have the same associativity (the associativity is only listed once for the group of operators). Decrement is two minus signs, but some word processing software programs might have problems printing two minus signs and convert it to a double dash. Insertion (two < signs) and extraction (two > signs) might also have printing problems. These printing problems are noted in the comments.
PR

OPERATOR NAME

SYMBOL(S)

COMMENTS

ASSOICIATIVITY

CONNEXIONS
MODULE

1

function call

() 
Left to Right

m19145


1

array index

[]  
2

postfix increment

++ 
unary

Right to Left

m20499

2

postfix decrement

  unary , two minus signs 
m20499


3

dereference

* 
unary

Right to Left


3

address

& 
unary


3

unary positive aka plus

+ 
unary

m20501


3

unary negative akd minus

 
unary

m20501


3

prefix increment

++ 
unary

m20499


3

prefix decrement

  unary , two minus signs 
m20499


3

cast

(type) 
unary

m18744


3

sizeof

sizeof (type) 
unary, compile time

m18736


3

logical NOT

! 
unary

m19847


4

multiply

* 
Left to Right

m18706


4

divide

/ 
m18706


4

modulus

% 
remainder

m18706


5

add

+ 
Left to Right

m18706


5

subtract

 
m18706


6

insertion

<< 
writing,
two less than signs

Left to Right

m18835

6

extraction

>> 
reading,
two greater than signs

m18835


7

less than

< 
Left to Right

m18549


7

greater than

> 
m18549


7

less than or equal to

<= 
m18549


7

greater than or equal to

>= 
m18549


8

equality

== 
equal to

Left to Right

m18549

8

inequality

!= 
not equal to

m18549


9

logical AND

&& 
Left to Right

m19847


10

logical OR

 
Left to Right

m19847


11

conditional

? : 
trinary

Left to Right


12

assignment

= 
Right to Left

m18725


12

addition assignment

+= 
m18743


12

subtraction assignment

= 
m18743


12

multiplication assignment

*= 
m18743


12

division assignment

/= 
m18743


12

modulus assignment

%= 
m18743


13

sequence or comma

, 
Left to Right

m18690
