Sådan bedst implementeres typekonvertering i C ++?



Denne artikel introducerer dig til Type Conversion In C ++ og følger den op med en detaljeret programmatisk demonstration for det samme.

Denne artikel vil introducere dig til endnu et interessant emne, som Type Conversion In C ++ og følg det med detaljeret praktisk demonstration. Følgende punkter vil blive dækket i denne artikel,

Så lad os komme i gang dengang,





Skriv konvertering i C ++

Type konvertering refererer til konvertering fra en type til en anden. Hovedideen bag typekonvertering er at gøre variabler af en type kompatible med variabler af en anden type for at udføre en operation. For eksempel for at finde summen af ​​to variabler, en af ​​int-type og en anden af ​​float-type. Så du skal skrive cast int-variablen for at flyde for at gøre dem begge til at flyde for at finde summen. I denne blog lærer vi, hvordan man udfører typekonvertering i C ++.

I C ++ er der to typer type konvertering, dvs. implicit type konvertering & eksplicit type konvertering.



Implicit type konvertering

Implicit type konvertering eller automatisk type konvertering udføres af compileren alene. Der kræves ingen ekstern udløser af brugeren for at skrive en variabel fra en type til en anden.

Dette sker, når et udtryk indeholder variabler af mere end en type. Så i disse scenarier finder man automatisk typekonvertering sted for at undgå tab af data.Ved automatisk typekonvertering konverteres alle datatyper, der findes i udtrykket, til datatypen for den variabel, der har den største datatype.

Nedenfor er rækkefølgen af ​​den automatiske typekonvertering. Du kan også sige, mindste til største datatype til typekonvertering.



bool -> char -> kort int -> int -> usigneret int -> lang -> usigneret -> lang lang -> flyde -> dobbelt -> lang dobbelt

Implicitte konverteringer kan miste oplysninger, såsom tegn kan gå tabt, når signeret type implicit konverteres til usigneret type, og overløb kan forekomme, når lang implicit konverteres til float.

Lad os nu se på et eksempel for at forstå, hvordan implicit typekonvertering fungerer i C ++.

Eksempel

#include ved hjælp af navneområde std int main () 12w {int int1 = 100 // heltal int1 char char1 = 'c' // karakter char1 // char1 implicit konverteret til int ved hjælp af ASCII-værdi af 'c' dvs. 99 int1 = int1 + char1 // int1 konverteres implicit til float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Produktion

int1 = 199

char1 = c

flt1 = 201,7

java har-et forhold

Næste i denne type konvertering i C ++ artikel,

Eksplicit type konvertering

Eksplicit type konvertering eller type casting er brugerdefineret type konvertering. I konvertering af eksplicit type konverterer brugeren en type variabel til en anden type. Eksplicit type konvertering kan udføres på to måder i C ++:

  • Konvertering efter opgave
  • Konvertering ved hjælp af Cast-operator

Lad os nu se på hver af måderne til eksplicit type at kaste en type til en anden.

Konvertering efter opgave

I denne type konvertering defineres den krævede type eksplicit foran udtrykket i parentes. Datatab sker i eksplicit type casting. Det betragtes som kraftig støbning. Lad os se på et eksempel.

Eksempel

#include ved hjælp af namespace std int main () {double dbl1 = 8.9 // Eksplicit konvertering fra dobbelt til int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Produktion

Resultat = 9

Næste i denne type konvertering i C ++ artikel,

Konvertering ved hjælp af Cast Operator

Cast-operatør er en unary operator, der tvinger en datatype til at konverteres til en anden datatype. Der er fire typer støbning i C ++, dvs. statisk støbning, dynamisk støbning, konststøbning og genfortolkning af støbning.

  • Statisk rollebesætning - Dette er den enkleste type støbt, der kan bruges. Det udfører ikke kun upcasts, men også downcasts. Det er en kompileringstidsbesætning. Kontroller udføres ikke i løbet af løbetiden for at garantere, at et objekt, der konverteres, er et fuldt objekt af destinationstypen.
  • Dynamisk rollebesætning - Det sikrer, at et resultat af typen konvertering peger på det gyldige, komplette objekt af destinationsmarkørtypen.
  • Const Cast - manipulerer det, om objektet skal være konstant eller ikke-konstant. Det sikrer, at enten konstanten skal indstilles eller fjernes.
  • Genfortolke rollebesætningen - konverterer en hvilken som helst markørtype til en hvilken som helst anden markørtype, selv af ikke-relaterede klasser. Det kontrollerer ikke, om markørens type og data, som markøren peger på, er ens eller ikke.

Lad os se på et eksempel på statisk rollebesætning,

Eksempel

#include ved hjælp af namespace std int main () {float flt = 30.11 // ved hjælp af cast operator int int1 = static_cast (flt) cout< 

Produktion

30

Dette bringer os til slutningen af ​​denne artikel om Type Conversion In C ++.Jeg håber, du fandt dette informativt og hjælpsomt, hold øje med flere tutorials om lignende emner. Du kan også tjekke vores træningsprogram to få dybdegående viden om jQuery sammen med dens forskellige applikationer, det kan du til live online træning med support døgnet rundt og levetid adgang.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet i denne artikel, så vender vi tilbage til dig.