Hur man bäst implementerar typkonvertering i C ++?



Den här artikeln presenterar dig för typkonvertering i C ++ och följer upp den med en detaljerad programmatisk demonstration för densamma.

Denna artikel kommer att presentera dig för ännu ett intressant ämne som typkonvertering in C ++ och följ den med detaljerad praktisk demonstration. Följande tips kommer att behandlas i den här artikeln,

Så låt oss komma igång då,





Skriv konvertering i C ++

Typkonvertering avser konvertering från en typ till en annan. Huvudidén bakom typkonvertering är att göra variabel av en typ kompatibel med variabel av annan typ för att utföra en operation. Till exempel för att hitta summan av två variabler, en av int-typ och en annan av flottörtyp. Så du måste skriva cast int variabel för att flyta för att göra dem båda flytande för att hitta summan. I den här bloggen lär vi oss hur man utför typkonvertering i C ++.

I C ++ finns det två typer av typkonvertering, dvs. implicit typkonvertering och uttrycklig typkonvertering.



Implicit typkonvertering

Implicit typkonvertering eller automatisk typkonvertering görs av kompilatorn på egen hand. Det krävs ingen extern trigger för att användaren ska kunna skriva en variabel från en typ till en annan.

Detta inträffar när ett uttryck innehåller variabler av mer än en typ. Så i dessa scenarier sker automatisk typkonvertering för att undvika förlust av data.Vid automatisk typkonvertering konverteras alla datatyper som finns i uttrycket till datatyp för variabeln med den största datatypen.

vad är en instansvariabel

Nedan följer ordningen för den automatiska typkonverteringen. Du kan också säga, minsta till största datatyp för typkonvertering.



bool -> char -> kort int -> int -> osignerad int -> lång -> osignerad -> lång lång -> flottör -> dubbel -> lång dubbel

Implicita konverteringar kan förlora information, till exempel tecken kan gå förlorade när signerad typ implicit konverteras till osignerad typ och överflöd kan uppstå när long implicit implieras till float.

Låt oss nu titta på ett exempel för att förstå hur implicit typkonvertering fungerar i C ++.

cloudera certifierad administratör för apache hadoop

Exempel

#include using namespace std int main () 12w {int int1 = 100 // heltal int1 char char1 = 'c' // tecken char1 // char1 omvandlas implicit till int med ASCII-värde av 'c' dvs. 99 int1 = int1 + char1 // int1 omvandlas implicit till 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

Nästa i denna typkonvertering i C ++ -artikel,

Explicit typkonvertering

Explicit typkonvertering eller typgjutning är användardefinierad typkonvertering. Vid konvertering av explicit typ konverterar användaren en typ av variabel till en annan typ. Explicit typkonvertering kan göras på två sätt i C ++:

  • Konvertera efter uppdrag
  • Konvertering med Cast-operatör

Låt oss nu titta på vart och ett av sätten att uttrycka typ kasta en typ till en annan.

Konvertera efter uppdrag

I denna typkonvertering definieras den önskade typen uttryckligen framför uttrycket inom parentes. Dataförlust sker vid uttrycklig typgjutning. Det betraktas som kraftfull gjutning. Låt oss titta på ett exempel.

Exempel

#include using namespace std int main () {double dbl1 = 8.9 // Explicit conversion from double to int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Produktion

Resultat = 9

Nästa i denna typkonvertering i C ++ -artikel,

Konvertering med Cast Operator

Cast-operatören är en enhetlig operatör som tvingar en datatyp att konverteras till en annan datatyp. Det finns fyra typer av gjutning i C ++, dvs statisk gjutning, dynamisk gjutning, konstgjutning och nytolkning av gjutning.

  • Statisk gjutning - Detta är den enklaste typen av gjutning som kan användas. Det utför inte bara upcasts utan också downcasts. Det är en sammanställning av tidsbesättningen. Kontroller utförs inte under körningen för att garantera att ett objekt som konverteras är ett fullständigt objekt av destinationstypen.
  • Dynamic Cast - Det säkerställer att ett resultat av typkonverteringen pekar på det giltiga, fullständiga objektet för målpekartypen.
  • Const Cast - manipulerar det om objektet behöver vara konstant eller icke-konstant. Det säkerställer att antingen konstanten måste ställas in eller tas bort.
  • Omtolkar Cast - konverterar vilken pekartyp som helst till vilken annan pekartyp som helst, även av orelaterade klasser. Den kontrollerar inte om pekartypen och data som pekaren pekar på är desamma eller inte.

Låt oss titta på ett exempel på statisk gjutning,

Exempel

hur man skapar en rad objekt i java
#include using namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout< 

Produktion

30

Detta leder oss till slutet av den här artikeln om typkonvertering i C ++.Jag hoppas att du tyckte att det var informativt och hjälpsamt. Håll dig uppdaterad om du vill ha mer självstudier om liknande ämnen. Du kan också kolla in vårt träningsprogram to få fördjupad kunskap om jQuery tillsammans med dess olika applikationer, du kan för live onlineträning med support dygnet runt och livstidsåtkomst.

Har du en fråga till oss? Nämn dem i kommentarsektionen i den här artikeln så återkommer vi till dig.