Condividi tramite


Espressioni in forma suffissa

Le espressioni di suffisso sono costituite da espressioni primarie o da espressioni in cui gli operatori di suffisso seguono un'espressione primaria. Nella tabella riportata di seguito vengono elencati gli operatori di suffisso.

Operatori di suffisso

Nome dell'operatore

Notazione dell'operatore

Operatore di indice

[ ]

Operatore di chiamata di funzione

( )

Operatore di conversione di tipi esplicita

type-name( )

Operatore di accesso ai membri

. o –>

Operatore di incremento suffisso

++

Operatore di decremento suffisso

––

Nella sintassi seguente vengono descritte le possibili espressioni di suffisso:

primary-expression 
postfix-expression [ expression ] 
postfix-expression ( expression-list<SUB>opt</SUB> ) 
simple-type-name ( expression-list<SUB>opt</SUB> ) 
postfix-expression . name 
postfix-expression –> name 
postfix-expression ++ 
postfix-expression –– 
cast-keyword < typename > (expression ) 
typeid ( typename )

L'elemento postfix-expression sopra riportato può essere un'espressione primaria o un'altra espressione di suffisso. Vedere espressioni primarie. Le espressioni di suffisso vengono raggruppate da sinistra a destra, consentendone il concatenamento nel modo seguente:

func(1)->GetValue()++

Nell'espressione sopra riportata, func è un'espressione primaria, func (1) è un'espressione di suffisso di funzione, (1) ->GetData è un'espressione di suffisso che specifica un membro della classe, func (1) ->GetData () è un'altra espressione di suffisso di funzione e l'intera espressione è un'espressione di suffisso che incrementa il valore restituito di GetData. Il significato dell'intera espressione è "chiamare func passando 1 come argomento e ottenere un puntatore a una classe come valore restituito. Chiamare GetValue() su tale classe, quindi incrementare il valore restituito.

Le espressioni sopra elencate sono espressioni di assegnazione, pertanto il loro risultato deve essere un r-value.

Il formato dell'espressione di suffisso

simple-type-name ( expression-list )

indica la chiamata del costruttore. Se il nome di tipo semplice è un tipo fondamentale, l'elenco di espressioni deve essere costituito da un'unica espressione, la quale indica un cast del valore dell'espressione al tipo fondamentale. Questo tipo di espressione cast riproduce un costruttore. Poiché questo formato consente la costruzione dei tipi fondamentali e delle classi utilizzando la stessa sintassi, è particolarmente utile quando si definiscono le classi modello.

cast-keyword è una delle seguenti dynamic_cast, static_cast o reinterpret_cast. Ulteriori informazioni sono disponibili in dynamic_cast, static_cast e reinterpret_cast.

L'operatore typeid viene considerato un'espressione di suffisso. Vedere operatore typeid.

Vedere anche

Riferimenti

Tipi di espressioni