Wie implementiere ich die Typkonvertierung am besten in C ++?



Dieser Artikel führt Sie in die Typkonvertierung in C ++ ein und führt anschließend eine detaillierte programmatische Demonstration durch.

Dieser Artikel führt Sie in ein weiteres interessantes Thema ein, das Type Conversion In C ++ und folgen Sie ihm mit einer detaillierten praktischen Demonstration. Die folgenden Hinweise werden in diesem Artikel behandelt:

Also fangen wir an,





Typkonvertierung in C ++

Typkonvertierung bezieht sich auf die Konvertierung von einem Typ in einen anderen. Die Hauptidee hinter der Typkonvertierung besteht darin, Variablen eines Typs mit Variablen eines anderen Typs kompatibel zu machen, um eine Operation auszuführen. Um beispielsweise die Summe von zwei Variablen zu ermitteln, eine vom Typ int und eine vom Typ float. Sie müssen also cast int variable in float eingeben, damit beide float-Typen zum Ermitteln der Summe verwendet werden. In diesem Blog erfahren Sie, wie Sie eine Typkonvertierung in C ++ durchführen.

In C ++ gibt es zwei Arten der Typkonvertierung, d. H. Implizite Typkonvertierung und explizite Typkonvertierung.



Implizite Typkonvertierung

Die implizite Typkonvertierung oder automatische Typkonvertierung wird vom Compiler selbst durchgeführt. Der Benutzer benötigt keinen externen Trigger, um eine Variable von einem Typ in einen anderen zu typisieren.

Dies tritt auf, wenn ein Ausdruck Variablen von mehr als einem Typ enthält. In diesen Szenarien findet also eine automatische Typkonvertierung statt, um Datenverlust zu vermeiden.Bei der automatischen Typkonvertierung werden alle im Ausdruck vorhandenen Datentypen in den Datentyp der Variablen mit dem größten Datentyp konvertiert.

Was ist eine Instanzvariable?

Nachfolgend finden Sie die Reihenfolge der automatischen Typkonvertierung. Sie können auch sagen, kleinster bis größter Datentyp für die Typkonvertierung.



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

Implizite Konvertierungen können Informationen verlieren, z. B. können Zeichen verloren gehen, wenn der signierte Typ implizit in einen nicht signierten Typ konvertiert wird, und ein Überlauf kann auftreten, wenn long implizit in float konvertiert wird.

Schauen wir uns nun ein Beispiel an, um zu verstehen, wie die implizite Typkonvertierung in C ++ funktioniert.

Beispiel

#include using namespace std int main () 12w {int int1 = 100 // Ganzzahl int1 char char1 = 'c' // Zeichen char1 // char1 wird implizit mit dem ASCII-Wert 'c' in int konvertiert, dh 99 int1 = int1 + char1 // int1 wird implizit in float float flt1 = int1 + 2.7 cout konvertiert<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Ausgabe

int1 = 199

char1 = c

flt1 = 201,7

Weiter in dieser Typkonvertierung in C ++ Artikel,

Explizite Typkonvertierung

Explizite Typkonvertierung oder Typumwandlung ist eine benutzerdefinierte Typkonvertierung. Bei der expliziten Typkonvertierung konvertiert der Benutzer einen Variablentyp in einen anderen Typ. Die explizite Typkonvertierung kann in C ++ auf zwei Arten erfolgen:

  • Konvertieren durch Zuordnung
  • Konvertierung mit dem Cast-Operator

Schauen wir uns nun die Möglichkeiten an, wie Sie einen Typ explizit in einen anderen umwandeln können.

Konvertieren durch Zuordnung

Bei dieser Typkonvertierung wird der erforderliche Typ explizit vor dem Ausdruck in Klammern definiert. Datenverlust tritt beim expliziten Typ-Casting auf. Es wird als kraftvolles Gießen angesehen. Schauen wir uns ein Beispiel an.

Beispiel

#include using namespace std int main () {double dbl1 = 8.9 // Explizite Konvertierung von double nach int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Ausgabe

Ergebnis = 9

Weiter in dieser Typkonvertierung in C ++ Artikel,

Konvertierung mit Cast Operator

Der Cast-Operator ist ein unärer Operator, der die Konvertierung eines Datentyps in einen anderen Datentyp erzwingt. In C ++ gibt es vier Arten von Casting, d. H. Static Cast, Dynamic Cast, Const Cast und Reinterpret Cast.

  • Statische Besetzung - - Dies ist die einfachste Art von Guss, die verwendet werden kann. Es werden nicht nur Upcasts, sondern auch Downcasts ausgeführt. Es ist eine Kompilierungszeit. Während der Laufzeit werden keine Überprüfungen durchgeführt, um sicherzustellen, dass ein zu konvertierendes Objekt ein vollständiges Objekt des Zieltyps ist.
  • Dynamische Besetzung - Es wird sichergestellt, dass ein Ergebnis der Typkonvertierung auf das gültige, vollständige Objekt des Zielzeigertyps verweist.
  • Const Cast - manipuliert, ob das Objekt konstant oder nicht konstant sein muss. Es stellt sicher, dass entweder die Konstante gesetzt oder entfernt werden muss.
  • Besetzung neu interpretieren - - konvertiert jeden Zeigertyp in einen anderen Zeigertyp, auch von nicht verwandten Klassen. Es wird nicht geprüft, ob der Zeigertyp und die Daten, auf die der Zeiger zeigt, identisch sind oder nicht.

Schauen wir uns ein Beispiel für statische Besetzung an.

Beispiel

#include using namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout< 

Ausgabe

Konvertieren Sie die Zeichenfolge in das Datumsformat in Java

30

Dies bringt uns zum Ende dieses Artikels über die Typkonvertierung in C ++.Ich hoffe, Sie fanden dies informativ und hilfreich. Weitere Tutorials zu ähnlichen Themen finden Sie hier. Sie können sich auch unser Schulungsprogramm ansehenSie können sich eingehend mit jQuery und seinen verschiedenen Anwendungen vertraut machen für Live-Online-Schulungen mit 24-Stunden-Support und lebenslangem Zugriff.

Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich dieses Artikels und wir werden uns bei Ihnen melden.