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 processoring software programs might have have problems printing to minus signs and convert it to a double dash. Insertion (two < signs) and extraction (two > signs) might also hve printing problems. These printing problems are noted in the comments.
OPERATOR NAME

SYMBOL(S)

COMMENTS

ASSOICIATIVITY


1

function call

() 
Left to Right


1

array index

[]  
2

postfix increment

++ 
unary

Right to Left

2

postfix decrement

 
unary,
two minus signs


3

dereference

* 
unary

Right to Left

3

address

& 
unary


3

unary positive

+ 
unary


3

unary minus or unary negative

 
unary


3

prefix increment

++ 
unary


3

prefix decrement

 
unary,
two minus signs


3

cast

(type) 
unary


3

sizeof

sizeof (type) 
unary, compile time


3

logical NOT

! 
unary


4

multiply

* 
Left to Right


4

divide

/  
4

modulus

% 
remainder


5

add

+ 
Left to Right


5

subtract

  
6

insertion

<< 
writing,
two < signs

Left to Right

6

extraction

>> 
reading,
two > signs


7

less than

< 
Left to Right


7

greater than

>  
7

less than or equal to

<=  
7

greater than or equal to

>=  
8

equality

== 
equal to

Left to Right

8

nonequality

!= 
not equal to


9

logical AND

&& 
Left to Right


10

logical OR

 
Left to Right


11

conditional

? : 
trinary

Left to Right

12

assignment

= 
Right to Left


12

addition assignment

+=  
12

subtraction assignment

=  
12

multiplication assignment

*=  
12

division assignment

/=  
12

modulus assignment

%=  
13

sequence or comma

, 
Left to Right
