Condividi tramite


Conversioni di cast di tipo

È possibile utilizzare cast di tipo in modo esplicito per convertire i tipi.

Sintassi

  • espressione cast:
    un'espressione unaria

    ( nome del tipo ) espressione cast

  • nome del tipo:
    astratto-dichiaratore dell'identificatore-qualificatore-elenco scegliere

nome del tipo è un tipo e espressione cast è un valore da convertire in quel tipo.Un'espressione con un cast di tipo non è un l-value.espressione cast viene convertito come se fosse assegnato a una variabile di tipo nome del tipo.Le regole di conversione per le assegnazioni (delimitate in conversioni di assegnazione) applicare ai cast di tipo anche.Nella tabella seguente sono illustrati i tipi che è possibile eseguire il cast a qualsiasi tipo specificato.

cast di tipo validi

tipi di destinazione

Origini potenziali

Tipi integrali

Qualsiasi tipo integer o tipo a virgola mobile, o puntatore a un oggetto

a virgola mobile

qualsiasi tipo aritmetico

Un puntatore a un oggetto o,void *)

Qualsiasi tipo integer, ovverovoid *), un puntatore a un oggetto, o un puntatore a funzione

Puntatore a funzione

Qualsiasi tipo integrale, un puntatore a un oggetto, o un puntatore a funzione

Una struttura, un'unione, oppure una matrice

Nessuno

tipo void

Qualsiasi tipo

Qualsiasi identificatore è possibile eseguire il cast su void tipo.Tuttavia, se il tipo specificato in un'espressione di cast di tipo non viene void, quindi l'identificatore di cui viene eseguito il cast al tipo non può essere un oggetto void espressione.Qualsiasi espressione è possibile eseguire il cast su void, ma un'espressione di tipo void non è possibile eseguire il cast a qualsiasi altro tipo.Ad esempio, una funzione con void il tipo restituito non può avere il cast di tornare a un altro tipo.

si noti che a void * l'espressione ha un tipo puntatore a void, non tipo void.Se un oggetto viene eseguito il cast su void il tipo, l'espressione risultante non può essere assegnato a qualsiasi elemento.Analogamente, un oggetto di cast di tipo non è un l-value accettabile, pertanto alcuna assegnazione può essere eseguita in un oggetto del cast di tipo.

Specifici di Microsoft

Un cast di tipo può essere un'espressione l-value purché la dimensione dell'identificatore non cambia.Per informazioni sulle espressioni l-value, vedere Espressioni di r-value e l-value.

Microsoft FINALE specifico

È possibile convertire un'espressione per digitare void con un cast, ma l'espressione risultante può essere utilizzato solo in un valore non è obbligatorio.Un puntatore all'oggetto convertito in void * e del tipo originale restituirà il valore originale.

Vedere anche

Concetti

Conversioni di tipo C ()