Operátory C++, priorita a asociativita

Jazyk C++ obsahuje všechny operátory jazyka C a přidává několik nových operátorů.Operátory určují vyhodnocení, které má být provedeno na jednom nebo více operandů.

Přednost operátoru určuje pořadí operací ve výrazech, které obsahují více než jeden operátor.Asociativita operátorů určuje, zda ve výrazu, který obsahuje více operátorů se stejnou prioritou, je operand seskupen s operátorem nalevo, nebo napravo.Přednost a asociativita operátorů v jazyce C++ je uvedena v následující tabulce (od nejvyšší priority k nejnižší).Operátory se stejnou prioritou mají stejnou přednost, pokud pomocí závorek není explicitně vynucen jiný vztah.

Přednost a asociativita operátorů v jazyce C++

Popis operátoru

Group 1 precedence, no associativity

Rozlišení rozsahu

Group 2 precedence, left to right associativity

Výběr členů (objekt nebo ukazatel)

Dolní index pole

Volání funkce

Zvýšení příponového operátora

Snížení příponového operátora

Název typu

Konstantní typ převodu

Dynamický typ převodu

Znovu interpretovaný typ převodu

Statický typ převodu

Group 3 precedence, right to left associativity

Velikost objektu nebo typu

Zvýšení předponového operátora

Snížení předponového operátora

Doplněk

Logický operátor not

Unární negace

Unární plus

Adresa

Dereference

Vytvořit objekt

Zničit objekt

Změna typu

Group 4 precedence, left to right associativity

Ukazatel na člen (objekty nebo ukazatele)

Group 5 precedence, left to right associativity

Násobení

Dělení

Modulus

Group 6 precedence, left to right associativity

Sčítání

Odčítání

Group 7 precedence, left to right associativity

Posun doleva

Posun doprava

Group 8 precedence, left to right associativity

Menší než

Větší než

Menší nebo rovno

Větší nebo rovno

Group 9 precedence, left to right associativity

Rovnost

Nerovnost

Group 10 precedence left to right associativity

Bitový operátor AND

Group 11 precedence, left to right associativity

Bitový exkluzivní operátor OR

Group 12 precedence, left to right associativity

Bitový inkluzivní operátor OR

Group 13 precedence, left to right associativity

Logický operátor AND

Group 14 precedence, left to right associativity

Logický operátor OR

Group 15 precedence, right to left associativity

Podmiňovací operátor

Group 16 precedence, right to left associativity

Přiřazení

Přiřazení násobení

Přiřazení dělení

Přiřazení modulus

Přiřazení sčítání

Přiřazení odčítání

Přiřazení posunutí doleva

Přiřazení posunutí doprava

Přiřazení bitového operátoru AND

Přiřazení s bitovým operátorem OR

Přiřazení bez bitového operátoru OR

Group 17 precedence, right to left associativity

vyvolat výraz

Group 18 precedence, left to right associativity

Čárka

Viz také

Referenční dokumentace

Operátory jazyka C++

Přetížení operátoru