Hvordan best implementere type konvertering i C ++?



Denne artikkelen vil introdusere deg for Type Conversion In C ++ og følge den opp med en detaljert programmatisk demonstrasjon for det samme.

Denne artikkelen vil introdusere deg for enda et interessant tema som Type Conversion In C ++ og følg den med detaljert praktisk demonstrasjon. Følgende tips vil bli dekket i denne artikkelen,

Så la oss komme i gang da,





Skriv konvertering i C ++

Type konvertering refererer til konvertering fra en type til en annen. Hovedideen bak typekonvertering er å gjøre variabler av en type kompatible med variabler av en annen type for å utføre en operasjon. For eksempel for å finne summen av to variabler, en av int-type og en annen av flytype. Så du må skrive cast int variabel for å flyte for å gjøre dem begge flytype for å finne summen. I denne bloggen vil vi lære å utføre typekonvertering i C ++.

I C ++ er det to typer type konvertering, dvs. implisitt type konvertering og eksplisitt type konvertering.



Implisitt type konvertering

Implisitt type konvertering eller automatisk type konvertering gjøres av kompilatoren alene. Det er ingen ekstern trigger som kreves av brukeren for å skrive en variabel fra en type til en annen.

Dette skjer når et uttrykk inneholder variabler av mer enn én type. Så i disse scenariene skjer automatisk konvertering av typen for å unngå tap av data.Ved automatisk typekonvertering konverteres alle datatypene i uttrykket til datatypen til variabelen med den største datatypen.

Nedenfor er rekkefølgen for den automatiske typen konvertering. Du kan også si, minste til største datatype for typekonvertering.



bool -> char -> kort int -> int -> usignert int -> lang -> usignert -> lang lang -> flyte -> dobbel -> lang dobbel

Implisitte konverteringer kan miste informasjon som for eksempel tegn kan gå tapt når signert type implisitt konverteres til usignert type og overløp kan oppstå når long implisitt blir konvertert til float.

La oss nå se på et eksempel for å forstå hvordan implisitt type konvertering fungerer i C ++.

Eksempel

# inkludere bruk av navneområde std int main () 12w {int int1 = 100 // heltall int1 char char1 = 'c' // karakter char1 // char1 implisitt konvertert til int ved bruk av ASCII-verdi på 'c' dvs. 99 int1 = int1 + char1 // int1 konverteres implisitt til float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Produksjon

hvilken skannerklassemetode leser en streng

int1 = 199

char1 = c

flt1 = 201,7

Neste i denne typen konvertering i C ++ artikkel,

Eksplisitt type konvertering

Eksplisitt type konvertering eller type casting er brukerdefinert type konvertering. Ved eksplisitt typekonvertering konverterer brukeren en type variabel til en annen type. Eksplisitt type konvertering kan gjøres på to måter i C ++:

  • Konvertering etter oppgave
  • Konvertering med Cast-operatør

La oss nå se på hver av måtene å eksplisitt skrive, kaste en type til en annen.

hvordan løfte til en makt i java

Konvertering etter oppgave

I denne konverteringstypen er den nødvendige typen eksplisitt definert foran uttrykket i parentes. Datatap skjer i eksplisitt type casting. Det regnes som kraftig avstøpning. La oss se på et eksempel.

Eksempel

# inkludere bruk av navneområde std int main () {double dbl1 = 8.9 // Eksplisitt konvertering fra dobbelt til int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Produksjon

Resultat = 9

Neste i denne typen konvertering i C ++ artikkel,

Konvertering ved hjelp av Cast Operator

Cast-operatør er en unarisk operatør som tvinger en datatype til å konverteres til en annen datatype. Det er fire typer støpegods i C ++, dvs. Statisk støpt, Dynamisk støpt, Const Cast og Reinterpret Cast.

  • Statisk rollebesetning - Dette er den enkleste typen støpt som kan brukes. Det utfører ikke bare upcasts, men også downcasts. Det er en kompilering av tidskasting. Kontroller utføres ikke i løpet av kjøretiden for å garantere at et objekt som konverteres er et fullstendig objekt av destinasjonstypen.
  • Dynamisk rollebesetning - Det sikrer at et resultat av typen konvertering peker til det gyldige, komplette objektet til destinasjonspekertypen.
  • Const Cast - manipulerer det enten objektet må være konstant eller ikke-konstant. Det sikrer at enten konstanten må stilles inn eller fjernes.
  • Gjentolke rollebesetningen - konverterer hvilken som helst pekertype til hvilken som helst annen pekertype, til og med av ikke-relaterte klasser. Den sjekker ikke om pekertypen og dataene som pekeren peker på, er like eller ikke.

La oss se på et eksempel på statisk rollebesetning,

Eksempel

#include ved å bruke navneområdet std int main () {float flt = 30.11 // ved hjelp av cast operator int int1 = static_cast (flt) cout< 

Produksjon

30

Dette bringer oss til slutten av denne artikkelen om Type Conversion In C ++.Jeg håper du fant dette informativt og hjelpsomt, hold deg oppdatert for flere veiledninger om lignende emner. Du kan også sjekke ut vårt treningsprogram to få grundig kunnskap om jQuery sammen med de forskjellige applikasjonene du kan for live online trening med 24/7 support og levetidstilgang.

Har du spørsmål til oss? Nevn dem i kommentarfeltet i denne artikkelen, så kommer vi tilbake til deg.