Programovanie v jazyku C++

2. Lexikálne konvencie


2.4. Operátory

Operátory C++ sú zoradené v tabulke podla klesajúcej priority, najvyššiu prioritu pri vykonávaní majú operátory s označením 1. Poradie vykonávania operátorov s rovnakou prioritou nie je definované a závisí od vlastností použitého kompilátora. V prípade potreby alebo nejasností pri určovaní poradia vykonávania operátorov je možné pre definovanie poradia použiť zátvorky.
a=4*3+5;   // a=17
a=4*(3+5); // a=24
Stĺpec Význam tabulky popisuje funkciu operátorov vzhladom k základným dátovým typom, pre uživatelom definované dátové typy je možné vlastnosti operátorov definovať pomocou prekrývania. Stĺpec Použitie popisuje syntax použitia operátorov. Označenia v stĺpci Použitie majú nasledujúci význam:
 
class_name meno triedy
member meno atribútu triedy, štruktúry alebo uniónu
object objekt triedy
pointer smerník
lvalue výraz, označujúci nekonštantný objekt
expr výraz
expr_list zoznam výrazov
type všeobecné meno typu

 
 
 
Operátor 
Význam 
Použitie 
Asociácia 
Priorita 
:: Rozlíšenie príslušnosti class_name::member  
1
:: Prístup ku globálnemu objektu ::name  
1
     
[] Indexovanie pointer [expr]
L - R
2
() Volanie funkcie expr(expr_list)
L - R
2
() Konštrukcia hodnoty type (expr_list)  
2
. Volba elementu object.member
L - R
2
- Volba elementu object-member
L - R
2
sizeof  Velkosť objektu  sizeof expr  
2
sizeof()  Velkosť typu  sizeof(type)  
2
         
++ Postfix inkrement lvalue++  
3
-- Postfix dekrement lvalue--  
3
new Vytvorenie nového objektu  new type  
3
delete Zrušenie objektu  delete pointer  
3
delete[] Zrušenie pola objektov  delete []pointer  
3
++ Prefix inkrement ++lvalue  
3
-- Prefix dekrement --lvalue  
3
* Dereferencia *expr  
3
& Adresa objektu &lvalue  
3
+ Unárne plus +expr  
3
- Unárne mínus -expr  
3
! Logická negácia !expr  
3
~ Bitový kompelement  ~expr  
3
(type) Konverzia dátového typu  (type)expr
R - L
3
         
.* Výber elementu  object.pointer-to-member
L - R
4
-* Výber elementu  pointer-pointer-to-member
L - R
4
         
* Násobenie  expr * expr
L - R
5
/ Delenie  expr / expr
L - R
5
% Modulo  expr % expr
L - R
5
         
+ Sčítanie  expr + expr
L - R
6
- Odčítanie  expr - expr
L - R
6
         
<< Bitový posun dolava  expr << expr
L - R
7
  Bitový posun doprava  expr expr
L - R
7
         
< Menší ako  expr < expr
L - R
8
  Väčší sko  expr expr
L - R
8
<= Menší a rovný ako  expr <= expr
L - R
8
= Väčší a rovný ako  expr = expr
L - R
8
         
== Rovnosť  exp r== expr
L - R
9
!= Nerovnosť  expr != expr
L - R
9
         
& Bitový AND  expr & expr
L - R
10
         
^ Bitové XOR  expr ^ expr
L - R
11
         
| Bitové OR  expr | expr
L - R
12
         
&& Logické AND  expr && expr
L - R
13
         
? : Podmienkový výraz  expr ? exp : expr
R - L
14
         
Jednoduché priradenie  lvalue = expr
R - L
15
*=  Násobenie a priradenie  lvalue *= expr
R - L
15
/=  Delenie a priradenie  lvalue /= expr
R - L
15
%=  Modulo a priradenie  lvalue %= expr
R - L
15
+=  Sčítanie a priradenie  lvalue += expr
R - L
15
-=  Odčítanie a priradenie  lvalue -= expr
R - L
15
<<=  Bitový posun dolava a priradenie  lvalue <<= expr
R - L
15
Bitový posun doprava a priradenie  lvalue = expr
R - L
15
&=  Bitový AND a priradenie  lvalue &= expr
R - L
15
|=  Bitové OR a priradenie  lvalue |= expr
R - L
15
^=  Bitové XOR a priradenie  lvalue ^= expr
R - L
15
         
Čiarka (sekvencia)  expr, expr
L - R
16