Udostępnij za pośrednictwem


Operatory, pierwszeństwo i kojarzenie języka C++

Język C++ obejmuje wszystkie operatory C i dodaje kilka nowych operatorów.Operatory określają oszacowania wykonywane na jednym lub większej liczbie operandów.

Pierwszeństwo operatorów określa kolejność operacji w wyrażeniach, które zawierają więcej niż jeden operator.Łączność operatorów określa, czy w wyrażeniu, które zawiera kilka operatorów o tym samym pierwszeństwie, operand jest zgrupowany z operatorem po lewej stronie, czy z tym po prawej.W poniższej tabeli przedstawiono pierwszeństwo i łączność operatorów C++ (od najwyższego do najniższego pierwszeństwa).Operatory o tym samym numerze pierwszeństwa mają równe pierwszeństwo, chyba inny stosunek jest jawnie wymuszony przez nawiasy.

Pierwszeństwo i łączność operatora C++

Opis operatora

Group 1 precedence, no associativity

Rozpoznawanie zakresu

Group 2 precedence, left to right associativity

Wybór elementu członkowskiego (obiekt lub wskaźnik)

Indeks dolny tablicy

Wywołanie funkcji

Inkrementacja przyrostkowa

Dekrementacja przyrostkowa

Nazwa typu

Konwersja typu stałego

Konwersja typu dynamicznego

Konwersja przez zamianę typu

Konwersja typu statycznego

Group 3 precedence, right to left associativity

Rozmiar obiektu lub typu

Inkrementacja przedrostkowa

Dekrementacja przedrostkowa

Uzupełnienie jedynkowe

Logiczne NOT

negacja jednoargumentowa

Plus jednoargumentowy

Adres

Pośredniość

Tworzenie obiektu

Zniszczenie obiektu

Rzutowanie

Group 4 precedence, left to right associativity

Wskaźnik do członka (obiekty lub wskaźniki)

Group 5 precedence, left to right associativity

Mnożenie

Dzielenie

Modulo

Group 6 precedence, left to right associativity

Dodawanie

Odejmowanie

Group 7 precedence, left to right associativity

Przesunięcie w lewo

Przesunięcie w prawo

Group 8 precedence, left to right associativity

Mniejsze niż

Większe niż

Mniejsze niż lub równe

Większe niż lub równe

Group 9 precedence, left to right associativity

Równość

Nierówność

Group 10 precedence left to right associativity

Bitowe ORAZ

Group 11 precedence, left to right associativity

Bitowe wykluczające OR

Group 12 precedence, left to right associativity

Bitowe alternatywne OR

Group 13 precedence, left to right associativity

AND logiczne

Group 14 precedence, left to right associativity

OR logiczne

Group 15 precedence, right to left associativity

Warunkowe

Group 16 precedence, right to left associativity

Przypisanie

Mnożenie i przypisanie

Dzielenie i przypisanie

Modulo i przypisanie

Dodawanie i przypisanie

Odejmowanie i przypisanie

Przesunięcie bitowe w lewo i przypisanie

Przesunięcie bitowe w prawo i przypisanie

Bitowe AND i przypisanie

Bitowe OR alternatywne i przypisanie

Bitowe OR wykluczające i przypisanie

Group 17 precedence, right to left associativity

Wyrażenie throw

Group 18 precedence, left to right associativity

Przecinek

Zobacz też

Informacje

Operatory języka C++

Przeładowanie operatora