C ++ operatore di cast
L'operatore cast è un operatore speciale, che converte il tipo di dati ad un altro tipo di dati. L'operatore cast è un operatore unario, le sue priorità e gli altri operatori unari stesso.
La maggior parte dei compilatori C ++ supportano operatore di cast più comuni:
(type) expression
Qui tipo è il tipo di dati dopo la conversione. Qui ci sono diversi altri tipi di supporto operatore cast C ++:
const_cast <tipo> (espressione): const_cast operatore viene utilizzato per modificare il tipo di const / proprietà volatile.Oltre agli attributi const o volatili, il bersaglio deve essere dello stesso tipo come tipo di origine. Questo tipo di conversione è utilizzato principalmente per trasferire gli attributi degli oggetti operazioni const, è possibile aggiungere attributi const essere rimosso l'attributo const.
dynamic_cast <tipo> (espressione): dynamic_cast eseguito in fase di esecuzione per la conversione, verificare la validità della conversione.Se la conversione non viene eseguita, la conversione non è riuscita, il espr espressione è determinata a essere nullo. Quando dynamic_cast eseguire una conversione dinamica, tipo deve essere un puntatore alla classe o tipo di riferimento void *, se il tipo è un tipo di puntatore di classe, allora espr deve essere un puntatore, se il tipo è un riferimento che espr deve essere anche un punto di riferimento.
reinterpret_cast <tipo> (espressione): reinterpret_cast all'operatore di un puntatore a un altro tipo di puntatore.Può essere un puntatore ad un intero, si può mettere un intero in un puntatore.
static_cast <tipo> (espressione): static_cast operatore esegue la conversione non dinamica, controlli di classe per garantire la sicurezza della conversione non è in esecuzione.Ad esempio, può essere utilizzato per convertire un puntatore alla classe base a un puntatore classe derivata.
Tutti dell'operatore getto sopra nell'uso di classi e oggetti saranno utilizzati. Ora, considerare i seguenti esempi per capire come utilizzare C ++, un semplice operatore di cast. Copiare e incollare il seguente programma C ++ per Test.cpp di file, compilare ed eseguire il programma.
#include <iostream> using namespace std; main() { double a = 21.09399; float b = 10.20; int c ; c = (int) a; cout << "Line 1 - Value of (int)a is :" << c << endl ; c = (int) b; cout << "Line 2 - Value of (int)b is :" << c << endl ; return 0; }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10