Ogólne |
kategorie wartości (lwartość, rwartość, xwartość) |
kolejność ewaluacji (punkty sekwencji) |
stałe wyrażenia |
wyrażenia nieewaluowane |
wyrażenia pierwszorzędne |
wyrażenie lambda(C++11) |
Literały |
literały liczb całkowitych |
literały liczb zmiennoprzecinkowych |
literały logiczne (boolowskie) |
literały znakowe razem z sekwencjami ucieczki |
literały ciągowe |
literał pustego wskaźnika (nullptr)(C++11) |
literały zdefiniowane przez użytkownika(C++11) |
Operatory |
Operatory przypisania:
a=b, a+=b, a-=b, a*=b, a/=b, a%=b, a&=b, a|=b, a^=b, a<<=b, a>>=b |
Inkrementacja i dekrementacja: ++a, --a, a++, a-- |
Operatory arytmetyczne:
+a, -a, a+b, a-b, a*b, a/b, a%b, ~a, a&b, a|b, a^b, a<<b, a>>b |
Operatory logiczne: a||b, a&&b, !a |
Operatory porównawcze: a==b, a!=b, a<b, a>b, a<=b, a>=b, a<=>b(C++20) |
Operatory dostępu do pól: a[b], *a, &a, a->b, a.b, a->*b, a.*b |
Inne operatory: a(...), a,b, a?b:c |
Alternatywne reprezentacje operatorów |
Priorytety i przynależności operatorów |
wyrażenia zwinięte (fold expr.)(C++17) |
wyrażenie new |
wyrażenie delete |
wyrażenie throw |
alignof |
sizeof |
sizeof...(C++11) |
typeid |
noexcept(C++11) |
Przeładowywanie operatorów |
Konwersje |
Niejawne konwersję |
const_cast |
static_cast |
reinterpret_cast |
dynamic_cast |
Konwersje jawne (explicit cast) (T)a, T(a) |
Konwersje zdefiniowane przez użytkownika |