logo

Skriv Konvertering i C++

En type cast er i utgangspunktet en konvertering fra en type til en annen. Det finnes to typer typekonvertering:

    Implisitt typekonvertering Også kjent som 'automatisk typekonvertering'.
    • Utført av kompilatoren på egen hånd, uten noen ekstern trigger fra brukeren.
    • Oppstår vanligvis når det er mer enn én datatype i et uttrykk. I en slik tilstand foregår typekonvertering (typepromotering) for å unngå tap av data.
    • Alle datatypene til variablene oppgraderes til datatypen til variabelen med størst datatype.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Det er mulig for implisitte konverteringer å miste informasjon, tegn kan gå tapt (når signert blir implisitt konvertert til usignert), og overløp kan oppstå (når long long implisitt konverteres til float).

    Eksempel på type implisitt konvertering:




    java og swing





    // An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> >int> x = 10;>// integer x> >char> y =>'a'>;>// character c> > >// y implicitly converted to int. ASCII> >// value of 'a' is 97> >x = x + y;> > >// x is implicitly converted to float> >float> z = x + 1.0;> > >cout <<>'x = '> << x << endl> ><<>'y = '> << y << endl> ><<>'z = '> << z << endl;> > >return> 0;> }>



    >

    >

    Produksjon:

     x = 107 y = a z = 108>
    Eksplisitt typekonvertering: Denne prosessen kalles også typecasting, og den er brukerdefinert. Her kan brukeren typecaste resultatet for å gjøre det til en bestemt datatype.

    I C++ kan det gjøres på to måter:

    • Konvertering etter oppgave: Dette gjøres ved å eksplisitt definere ønsket type foran uttrykket i parentes. Dette kan også betraktes som kraftfull støping.

      Syntaks:

      (type) expression>

      hvor type angir datatypen som det endelige resultatet konverteres til.

      Eksempel:




      // C++ program to demonstrate> // explicit type casting> > #include> using> namespace> std;> > int> main()> {> >double> x = 1.2;> > >// Explicit conversion from double to int> >int> sum = (>int>)x + 1;> > >cout <<>'Sum = '> << sum;> > >return> 0;> }>

      hvordan endre streng til int

      >

      >

      Produksjon:

       Sum = 2>
    • Konvertering med Cast-operator: En Cast-operatør er en unær operatør som tvinger én datatype til å bli konvertert til en annen datatype.
      C++ støtter fire typer støping:

      1. Statisk cast
      2. Dynamisk rollebesetning
      3. Const Cast
      4. Omtolk Cast
        1. Eksempel:




          #include> using> namespace> std;> int> main()> {> >float> f = 3.5;> > >// using cast operator> >int> b =>static_cast><>int>>(f);> > >cout << b;> }>

          >

          lagre youtube video vlc

          >

          Produksjon:

           3>

Fordeler med typekonvertering:

  • Dette gjøres for å dra nytte av visse funksjoner i typehierarkier eller typerepresentasjoner.
  • Det hjelper å beregne uttrykk som inneholder variabler av forskjellige datatyper.