Come implementare al meglio la conversione del tipo in C ++?



Questo articolo ti introdurrà alla conversione dei tipi in C ++ e seguirà una dimostrazione programmatica dettagliata per lo stesso.

Questo articolo ti introdurrà a un altro argomento interessante in cui Type Conversion In C ++ e seguirlo con dimostrazioni pratiche dettagliate. I seguenti suggerimenti saranno trattati in questo articolo,

Quindi iniziamo allora,





Conversione dei tipi in C ++

La conversione del tipo si riferisce alla conversione da un tipo a un altro. L'idea principale alla base della conversione del tipo è rendere la variabile di un tipo compatibile con la variabile di un altro tipo per eseguire un'operazione. Ad esempio, per trovare la somma di due variabili, una di tipo int e l'altra di tipo float. Quindi, è necessario digitare cast int variabile in float per renderli entrambi float per trovare la somma. In questo blog impareremo come eseguire la conversione del tipo in C ++.

In C ++, ci sono due tipi di conversione di tipo, ovvero conversione di tipo implicita e conversione di tipo esplicita.



Conversione di tipo implicita

La conversione implicita del tipo o la conversione automatica del tipo viene eseguita dal compilatore da solo. Non vi è alcun trigger esterno richiesto dall'utente per typecast una variabile da un tipo a un altro.

Ciò si verifica quando un'espressione contiene variabili di più di un tipo. Pertanto, in questi scenari viene eseguita la conversione automatica del tipo per evitare la perdita di dati.Nella conversione automatica del tipo, tutti i tipi di dati presenti nell'espressione vengono convertiti nel tipo di dati della variabile con il tipo di dati più grande.

Di seguito è riportato l'ordine della conversione automatica del tipo. Puoi anche dire, dal più piccolo al più grande tipo di dati per la conversione del tipo.



bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

Le conversioni implicite possono perdere informazioni come i segni possono essere persi quando il tipo con segno viene convertito implicitamente in tipo senza segno e può verificarsi un overflow quando long viene convertito in modo implicito in float.

Vediamo ora un esempio per capire come funziona la conversione del tipo implicito in C ++.

c ++ ordina ()

Esempio

#include using namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // carattere char1 // char1 implicitamente convertito in int usando il valore ASCII di 'c' ie 99 int1 = int1 + char1 // int1 viene convertito implicitamente in float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Produzione

int1 = 199

char1 = c

flt1 = 201,7

Avanti in questa conversione di tipo nell'articolo C ++,

Conversione di tipo esplicita

La conversione del tipo esplicita o il casting del tipo è la conversione del tipo definita dall'utente. Nella conversione di tipo esplicita, l'utente converte un tipo di variabile in un altro tipo. La conversione esplicita del tipo può essere eseguita in due modi in C ++:

differenze tra classe astratta e interfaccia
  • Conversione per incarico
  • Conversione utilizzando l'operatore Cast

Ora diamo un'occhiata a ciascuno dei modi per eseguire il cast esplicito di un tipo su un altro.

Conversione per incarico

In questa conversione di tipo il tipo richiesto è definito esplicitamente davanti all'espressione tra parentesi. La perdita di dati si verifica durante il casting esplicito del tipo. È considerato un lancio forzato. Diamo un'occhiata a un esempio.

Esempio

#include using namespace std int main () {double dbl1 = 8.9 // Conversione esplicita da double a int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Produzione

Risultato = 9

Avanti in questa conversione di tipo nell'articolo C ++,

Conversione utilizzando Cast Operator

L'operatore Cast è un operatore unario che forza la conversione di un tipo di dati in un altro tipo di dati. Esistono quattro tipi di casting in C ++, ovvero cast statico, cast dinamico, cast costante e cast reinterpretato.

  • Cast statico - Questo è il tipo più semplice di cast che può essere utilizzato. Non esegue solo upcast, ma anche downcast. È un tempo di compilazione cast. I controlli non vengono eseguiti durante il runtime per garantire che un oggetto convertito sia un oggetto completo del tipo di destinazione.
  • Cast dinamico - Assicura che un risultato della conversione del tipo punti all'oggetto completo e valido del tipo di puntatore di destinazione.
  • Const Cast - lo manipola indipendentemente dal fatto che l'oggetto debba essere costante o non costante. Assicura che la costante debba essere impostata o rimossa.
  • Reinterpretare Cast - converte qualsiasi tipo di puntatore in qualsiasi altro tipo di puntatore, anche di classi non correlate. Non controlla se il tipo di puntatore ei dati puntati dal puntatore sono uguali o meno.

Diamo un'occhiata a un esempio di cast statico,

Esempio

#include usando lo spazio dei nomi std int main () {float flt = 30.11 // usando l'operatore cast int int1 = static_cast (flt) cout< 

Produzione

30

Questo ci porta alla fine di questo articolo sulla conversione dei tipi in C ++.Spero che tu l'abbia trovato utile e informativo, resta sintonizzato per ulteriori tutorial su argomenti simili. Puoi anche controllare il nostro programma di formazione tPer ottenere una conoscenza approfondita di jQuery e delle sue varie applicazioni, puoi farlo per formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Hai domande per noi? Menzionali nella sezione commenti di questo articolo e ti risponderemo.