Hoe typeconversie het beste te implementeren in C ++?



Dit artikel laat je kennismaken met Type Conversion In C ++ en volgt het op met een gedetailleerde programmatische demonstratie voor hetzelfde.

Dit artikel laat je kennismaken met nog een ander interessant onderwerp dat Typeconversie In C ++ en volg het met een gedetailleerde praktische demonstratie. De volgende tips komen in dit artikel aan bod:

Dus laten we beginnen,





Typeconversie in C ++

Type conversie verwijst naar conversie van het ene type naar het andere. Het belangrijkste idee achter typeconversie is om een ​​variabele van het ene type compatibel te maken met een variabele van een ander type om een ​​bewerking uit te voeren. Om bijvoorbeeld de som van twee variabelen te vinden, een van het int-type en de andere van het float-type. U moet dus de variabele cast int typen om te zweven om ze allebei zwevend te maken om de som te vinden. In deze blog zullen we leren hoe u typeconversie uitvoert in C ++.

In C ++ zijn er twee soorten typeconversie, d.w.z. impliciete typeconversie en expliciete typeconversie.



Impliciete typeconversie

Impliciete typeconversie of automatische typeconversie wordt door de compiler zelf gedaan. Er is geen externe trigger vereist door de gebruiker om een ​​variabele van het ene type naar het andere te typen.

Dit gebeurt wanneer een uitdrukking variabelen van meer dan één type bevat. In die scenario's vindt dus automatische typeconversie plaats om verlies van gegevens te voorkomen.Bij automatische typeconversie worden alle gegevenstypen die in de uitdrukking aanwezig zijn, geconverteerd naar het gegevenstype van de variabele met het grootste gegevenstype.

Hieronder ziet u de volgorde van de automatische typeconversie. U kunt ook zeggen: kleinste naar grootste gegevenstype voor typeconversie.



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

Impliciete conversies kunnen informatie verliezen, zoals tekens kunnen verloren gaan wanneer ondertekend type impliciet wordt geconverteerd naar niet-ondertekend type en overloop kan optreden wanneer lang impliciet wordt geconverteerd naar zwevend.

Laten we nu een voorbeeld bekijken om te begrijpen hoe impliciete typeconversie werkt in C ++.

Voorbeeld

#include met gebruik van naamruimte std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 impliciet geconverteerd naar int met behulp van ASCII-waarde van 'c' ie 99 int1 = int1 + char1 // int1 wordt impliciet geconverteerd naar float float flt1 = int1 + 2,7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Uitvoer

marionet vs chef vs ansible

int1 = 199

char1 = c

flt1 = 201,7

Volgende in dit type conversie in C ++ artikel,

Expliciete typeconversie

Expliciete typeconversie of typeconversie is door de gebruiker gedefinieerde typeconversie. Bij expliciete typeconversie converteert de gebruiker het ene type variabele naar een ander type. Expliciete typeconversie kan op twee manieren worden gedaan in C ++:

  • Omzetten door opdracht
  • Conversie met Cast-operator

Laten we nu eens kijken naar elk van de manieren waarop expliciet type het ene type naar het andere cast.

Omzetten door opdracht

Bij deze typeconversie wordt het vereiste type expliciet gedefinieerd vóór de uitdrukking tussen haakjes. Gegevensverlies treedt op bij het casten van expliciete typen. Het wordt beschouwd als krachtig gieten. Laten we naar een voorbeeld kijken.

Voorbeeld

#include using namespace std int main () {double dbl1 = 8.9 // Expliciete conversie van double naar int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Uitvoer

Resultaat = 9

Volgende in dit type conversie in C ++ artikel,

Conversie met Cast Operator

Cast-operator is een unaire operator die ervoor zorgt dat een gegevenstype wordt geconverteerd naar een ander gegevenstype. Er zijn vier soorten casting in C ++, namelijk Static Cast, Dynamic Cast, Const Cast en Reinterpret Cast.

  • Statische cast - Dit is het eenvoudigste type gipsverband dat kan worden gebruikt. Het voert niet alleen upcasts uit, maar ook downcasts. Het is een compilatietijdcast. Tijdens de runtime worden geen controles uitgevoerd om te garanderen dat een object dat wordt geconverteerd, een volledig object van het bestemmingstype is.
  • Dynamische cast - Het zorgt ervoor dat een resultaat van de typeconversie verwijst naar het geldige, volledige object van het type bestemmingspointer.
  • Const Cast - manipuleert of het object constant of niet-constant moet zijn. Het zorgt ervoor dat de constante moet worden ingesteld of verwijderd.
  • Herinterpreteer Cast - converteert elk pointertype naar elk ander pointertype, zelfs van niet-gerelateerde klassen. Het controleert niet of het aanwijzertype en de gegevens waarnaar door de aanwijzer wordt verwezen, hetzelfde zijn of niet.

Laten we eens kijken naar een voorbeeld van een statische cast,

Voorbeeld

#include met gebruik van naamruimte std int main () {float flt = 30.11 // gebruik cast operator int int1 = static_cast (flt) cout< 

Uitvoer

30

Dit brengt ons aan het einde van dit artikel over typeconversie in C ++.Ik hoop dat je dit informatief en nuttig vond, blijf op de hoogte voor meer tutorials over vergelijkbare onderwerpen. Je kunt ook ons ​​trainingsprogramma bekijken.o diepgaande kennis opdoen over jQuery samen met zijn verschillende toepassingen, dat kan voor live online training met 24/7 ondersteuning en levenslange toegang.

Heeft u een vraag voor ons? Noem ze in het opmerkingengedeelte van dit artikel en we nemen contact met u op.