Primární výrazy
Primární výrazy jsou stavebními bloky složitějších výrazů. Mohou se jednat o literály, názvy a názvy kvalifikované operátorem rozlišení oboru (::
). Primární výraz může mít některou z těchto forem:
primary-expression
literal
this
name
::
name
(
expression
)
A literal
je konstantní primární výraz. Jeho typ závisí na formuláři specifikace. Další informace o zadávání literálů naleznete v tématu Literály .
Klíčové this
slovo je ukazatel na instanci třídy. Je k dispozici v rámci nestatických členských funkcí a odkazuje na instanci třídy, ze které byla funkce vyvolána. Klíčové this
slovo nelze použít mimo tělo funkce člena třídy.
Další informace o typu this
ukazatele naleznete v tématu this
ukazatel.
Operátor rozlišení oboru (::
) následovaný názvem je primární výraz. Tyto názvy musí být jména v globálním rozsahu, ne názvy členů. Deklarace názvu určuje typ výrazu. Je to l-hodnota (to znamená, že se může objevit na levé straně výrazu přiřazení), pokud je deklarující název l-hodnota. Operátoru rozsahu rozlišení umožňuje odkazování na globální název, i když je tento název skrytý v aktuálním oboru. Příklad použití operátoru rozlišení oboru najdete v tématu Obor .
Výraz uzavřený v závorkách je primární výraz. Jeho typ a hodnota jsou identické s typem a hodnotou neparenthesizovaného výrazu. Je to l-hodnota, pokud je neparenthesizovaný výraz l-hodnota.
Příklady primárních výrazů zahrnují:
100 // literal
'c' // literal
this // in a member function, a pointer to the class instance
::func // a global function
::operator + // a global operator function
::A::B // a global qualified name
( i + 1 ) // a parenthesized expression
Všechny tyto příklady se považují za názvy a například primární výrazy v různých formách:
MyClass // an identifier
MyClass::f // a qualified name
operator = // an operator function name
operator char* // a conversion operator function name
~MyClass // a destructor name
A::B // a qualified name
A<int> // a template id
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro