Condividi tramite


Espressioni di suffisso

Le espressioni di suffisso consistono nelle espressioni primarie o delle espressioni in cui gli operatori di suffisso seguono un'espressione primaria.Gli operatori di suffisso sono elencati nella tabella seguente.

operatori di suffisso

Nome dell'operatore

Notazione dell'operatore

Operatore di indice

[ ]

operatore di chiamata di funzione

( )

Operatore di conversione del tipo esplicita

nome del tipo( )

operatore di accesso ai membri

. o –>

Operatore di decremento suffisso

++

operatore di decremento suffisso

––

La sintassi seguente vengono descritte le espressioni possibili 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 )

suffisso-espressione possono essere un'espressione primaria o un altro espressione di suffisso.vedere espressioni principali.Le espressioni di suffisso vengono raggruppati da sinistra a destra, consentendo pertanto alle espressioni da concatenare come segue:

func(1)->GetValue()++

Nell'espressione sopra, funzionale è un'espressione primaria, func (1) è un'espressione nel suffisso di funzione, (1) - >GetData funzionale è un'espressione di suffisso che specifica un membro della classe, func (1) - > GetData() è un'altra espressione del suffisso di funzione e l'intera espressione è un'espressione di suffisso che incrementa il valore restituito GetData.Il significato dell'espressione nel suo complesso è “chiamata 1 di passaggio funzionale come argomento e ottiene un puntatore a una classe come valore restituito.Chiamare GetValue() in quella classe, quindi incrementare il valore restituito.

Le espressioni elencate in precedenza sono espressioni di assegnazione, pertanto il risultato di queste espressioni devono essere un r-value.

Il form dell'espressione di suffisso

simple-type-name ( expression-list )

indica la chiamata del costruttore.Se il semplice-tipo-nome è un tipo fondamentale, l'elenco di espressioni deve essere una sola espressione e questa espressione indica un cast del valore dell'espressione al tipo sottostante.questo tipo di espressione cast riproduce un costruttore.Poiché questo form consente i tipi fondamentali e le classi da costruire utilizzando la stessa sintassi, questo form è particolarmente utile quando si definisce le classi modello.

eseguire il castparola chiave è uno di dynamic_cast, static_cast o reinterpret_cast.Ulteriori informazioni sono disponibili in dynamic_cast, " tipo2 " e reinterpet_cast.

typeid l'operatore viene considerato un'espressione di suffisso.vedere operatore di typeid.

Vedere anche

Riferimenti

Tipi di espressioni