Conversione _cast.

A volte puoi trovare la conversione del tipo tramite l'operatore cast.
  • reinterpret_cast - digita casting senza controllo, indicazione diretta al compilatore. Viene utilizzato solo se il programmatore è completamente sicuro delle proprie azioni. Non rimuove const e volatile, viene utilizzato per eseguire il cast di un puntatore a un puntatore, un puntatore a un numero intero e viceversa.
  • static_cast - trasmette espressioni di un tipo statico in oggetti e valori di un altro tipo statico. È supportata la conversione di tipi numerici, puntatori e riferimenti in alto e in basso nella gerarchia di ereditarietà. La conversione viene verificata a livello di compilazione e in caso di errore typecast verrà visualizzato un messaggio.
  • dynamic_cast - utilizzato per il cast di tipi dinamici in fase di esecuzione. In caso di un typecast errato, viene generata un'eccezione std::bad_cast per i riferimenti e viene restituito 0 per i puntatori.
  • const_cast - è il casting di tipo più semplice. Rimuove const e volatile, ovvero costanza e rifiuto di ottimizzare la variabile da parte del compilatore. Questa conversione viene verificata a livello di compilazione e verrà emesso un messaggio in caso di errore di typecast.
Ad esempio:
// variabile di tipo byte
byte val = 5;
// passa a qualche funzione che si aspetta un int
sendVal(static_cast<int>(val));
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia