logo

Typkonvertierung in C++

Eine Typumwandlung ist im Grunde eine Konvertierung von einem Typ in einen anderen. Es gibt zwei Arten der Typkonvertierung:

    Implizite Typkonvertierung Auch als „automatische Typkonvertierung“ bekannt.
    • Wird vom Compiler selbst durchgeführt, ohne externen Auslöser durch den Benutzer.
    • Tritt im Allgemeinen auf, wenn in einem Ausdruck mehr als ein Datentyp vorhanden ist. In einer solchen Bedingung findet eine Typkonvertierung (Typheraufstufung) statt, um Datenverluste zu vermeiden.
    • Alle Datentypen der Variablen werden auf den Datentyp der Variablen mit dem größten Datentyp aktualisiert.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Es ist möglich, dass implizite Konvertierungen Informationen verlieren, Vorzeichen verloren gehen (wenn „signed“ implizit in „unsigned“ konvertiert wird) und es zu einem Überlauf kommen kann (wenn „long long“ implizit in „float“ konvertiert wird).

    Beispiel für eine implizite Typkonvertierung:








    // 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;> }>



    Schnelle Sortierung

    >

    >

    Ausgabe:

     x = 107 y = a z = 108>
    Explizite Typkonvertierung: Dieser Prozess wird auch Typumwandlung genannt und ist benutzerdefiniert. Hier kann der Benutzer das Ergebnis typisieren, um es in einen bestimmten Datentyp umzuwandeln.

    In C++ kann dies auf zwei Arten erfolgen:

    • Konvertieren nach Zuweisung: Dies geschieht durch die explizite Angabe des erforderlichen Typs vor dem Ausdruck in Klammern. Dies kann auch als Zwangswurf angesehen werden.

      Syntax:

      (type) expression>

      Wo Typ gibt den Datentyp an, in den das Endergebnis konvertiert wird.

      knn

      Beispiel:




      Einstellungsmenü Android
      // 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;> }>

      >

      >

      Sammlung Java
      Ausgabe:

       Sum = 2>
    • Konvertierung mit Cast-Operator: Ein Cast-Operator ist ein unärer Operator Dadurch wird die Konvertierung eines Datentyps in einen anderen Datentyp erzwungen.
      C++ unterstützt vier Arten des Castings:

      1. Statische Besetzung
      2. Dynamische Besetzung
      3. Const-Besetzung
      4. Besetzung neu interpretieren
        1. Beispiel:




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

          >

          >

          Ausgabe:

           3>

Vorteile der Typkonvertierung:

  • Dies geschieht, um bestimmte Merkmale von Typhierarchien oder Typdarstellungen zu nutzen.
  • Es hilft bei der Berechnung von Ausdrücken, die Variablen verschiedener Datentypen enthalten.