Static_cast C ++

Static_cast C ++
In diesem Artikel werden wir das Konzept der statischen Besetzung in der C ++ - Programmiersprache diskutieren. Zunächst müssen wir uns über das Konzept des Casting und dessen Typ informieren. In einfachen Worten verändert das Casting den Datentyp einer Variablen in eine andere. Es gibt zwei Arten des Gießens in der C ++ - Programmiersprache. Ein implizites Casting, und das zweite ist ein explizites Casting.

Geben Sie Casting in C ++ ein:

In der C ++ - Programmiersprache gibt es zwei Formen des Guss- oder Typumwandlungen, die Folgendes sind:

  1. Implizites Typ Casting.
  2. Explizites Typ Casting.
  3. Implizite Typ Casting:

Das implizite Typ Casting wird auch als automatisierte Typumwandlung bezeichnet. Dies erfolgt vom Compiler in der realen Laufzeitkompilation und erfordert keine Eingaben oder Aktionen vom Benutzer. Diese Art des Gießens tritt auf, wenn zwei Arten von Datentypen in einem Ausdruck vorhanden sind. Zum Beispiel:

int k = 8;
char alph = "u";
k = k + alph;

Dies ist ein perfektes Beispiel für die implizite oder automatisierte Konvertierung. Der Compiler konvertiert automatisch den Datentyp der Zeichenvariablen in einen Ganzzahl -Datentyp, indem sie ihn in der Laufzeit in den ASCII -Standardwert des Alphabets umdrehen.

Explizite Typ Casting:

Die explizite Typ -Guss- oder Typumwandlung ist nicht die automatisierte Konvertierung des Typs. Der Benutzer muss dies selbst im Code tun, um den Datentyp einer Variablen in den Datentyp einer anderen Variablen umzuwandeln. Daher erfolgt die explizite Typ -Guss- oder Typumwandlung normalerweise, wenn ein kleinerer Auftragsdatentyp verwendet wird, um Informationen zu erhalten. Es muss jedoch in einen höheren Datentyp umgewandelt werden, um den Datenverlust zu verhindern und mehr Daten zu speichern. Die Konvertierung durch Zuordnung erfolgt in einem Ausdruck im Code und die Art und Weise, diesen Ausdruck zu schreiben, wird unten angezeigt:

# (Datentyp) Ausdruck

Jetzt werden wir uns die verschiedenen Arten von Conversions ansehen, die die Gussbetreiber in der C ++ - Programmiersprache tun könnten. Cast -Operatoren, auch als Unary -Operatoren bekannt, erzwingen den Datentyp einer Variablen, um von einem Typ zu einem anderen zu wechseln. Gussbetreiber können vier verschiedene Casting-Typen durchführen: statische Besetzung, dynamische Besetzung, Cast und Const Cast.

Statischer Gussbetreiber in C ++:

Der statische Guss wird normalerweise verwendet, wenn wir die Enum -Variable in Schwimmer-, Ganzzahl- oder Doppel -Datentyp -Variablen in der C ++ - Programmiersprache umwandeln müssen. Es wird auch verwendet, wenn wir eine Zeigervariable von einer Basisklasse in einen Zeiger in einer abgeleiteten Klasse ändern müssen.

In der statischen Gussmethode gibt es während der Laufzeit eines Programms für das Typ -Casting im Vergleich zum dynamischen Typ -Casting keine Überprüfung. Die Syntax, mit der eine statische Cast Conversion in der C ++ - Programmiersprache ausgeführt wird, ist unten geschrieben:

# static_cast (Objekt);

Im obigen Ausdruck schreiben wir den Datentyp, in dem wir unsere Variable zwischen den Winkelklassen konvertieren möchten, und in der runden Klammer schreiben wir den Namen oder den Namen des Zeigers, den der Datentyp konvertiert werden muss.

Konvertieren des Datentyps der Float -Variablen in eine Ganzzahl unter Verwendung der statischen Gussmethode in Ubuntu 20.04:

Im C ++ - Programm stehen wir manchmal vor einer Situation, in der wir einen variablen Datentyp explizit ändern müssen, sodass wir die statische Gussmethode verwenden müssen. Um dieses Konzept in Ubuntu 20 zu implementieren.04, öffnen Sie das Terminal, gehen Sie zum Desktop -Verzeichnis, indem Sie „CD -Desktop“ schreiben, und machen Sie dann a .CPP -Datei durch Ausführen des Befehls "Berührung" mit dem Dateinamen und der Erweiterung von .CPP. Suchen und öffnen Sie dann Ihre und öffnen Sie Ihre .CPP -Datei auf dem Desktop

Wir haben eine Bibliothek mit iOstream hinzugefügt, um Eingangs- und Ausgangsvorgänge durchzuführen. Danach haben wir den Namespace STD angegeben. Dann haben wir unsere Hauptfunktion mit dem Ganzzahl -Datentyp begonnen. In unserer Hauptfunktion haben wir eine Variable „F“ mit einem Float -Datentyp und zuweisen den Wert von „3).5 ”dazu. Dann haben wir eine andere Variable, „B“ mit dem Ganzzahl -Datentyp. Und übergab ein statisches Casting an den Wert der Variablen „F“. Dann druckten wir die Variable „B“ mit COUT aus.

Der obige Code muss gespeichert werden; Klicken Sie auf die Schaltfläche Speichern in der oberen Navigationsleiste der Datei. Gehen Sie dann erneut zu Ihrem Terminal, kompilieren Sie die Datei und führen Sie sie dann aus, wenn es keine Fehler gibt, indem Sie die folgenden Befehle mit Ihrer Dateierweiterung „G ++ Dateiname“ verwenden, die lautet.CPP ”und“./”Zur Ausführung des lesbaren Dateinamens, der das hat“.out “als seine Erweiterung.

Wie Sie im obigen Ergebnis sehen können, haben wir die Float -Variable erfolgreich in die Variable "Integer Datentyp" konvertiert. Die Ausgabe zeigt, dass nur die Zahl eine Ganzzahlvariable ist, bevor der Dezimalpunkt gedruckt wird. Wir können den Datentyp auch voneinander austauschen, da die Float -Variable, die in Ganzzahl konvertiert werden soll.

Konvertieren der Datentyp einer Ganzzahlvariablen in Float mithilfe der statischen Gussmethode:

Jetzt werden wir die Konvertierung, die wir im obigen Beispiel durchgeführt haben, umkehren. Wir werden die ähnlichen Schritte aus dem vorherigen Beispiel verfolgen, wie unten gezeigt:

Im obigen Code haben wir eine Ganzzahlvariable "I" initialisiert und den Wert von "4" zugewiesen. Dann haben wir eine andere Variable „A“ mit Float -Datentyp und haben dann seinen Datentyp in Schwimmer konvertiert und dann mithilfe der Cout -Anweisung in der Ausgabe gedruckt. Nach dem Kompilieren und Ausführen des oben genannten Code wird die Ausgabe als:

Wir haben die Ganzzahlvariable in eine Float -Variable konvertiert, da der Compiler keinen Fehler zeigt. Es gibt jedoch immer noch einen Datenverlust, da die Ganzzahl ein Datentyp niedrigerer Ordnung ist, während der Float-Datentyp ein höherer Ordnung ist.

Verwenden Sie statische Besetzung, um zwei Ganzzahlen ohne Datenverlust zu teilen:

In diesem Beispiel werden wir zwei Ganzzahlen teilen, indem wir sie in eine Float -Variable konvertieren, um die Daten zu speichern, die eine Ganzzahl nicht halten kann. Dazu werden wir den folgenden Code ausführen, in dem wir zwei Zahlen mit dem Namen "I" und "K" mit einem Wert von "41" und "2" initialisieren werden. Dann haben wir eine andere Variable mit einem Float -Datentyp mit dem Titel "A" und konvertieren in eine Float -Variable und teilen Sie ihn durch die andere Ganzzahlvariable. Dann haben wir die Cout -Anweisung verwendet, damit die Ausgabe auf dem Bildschirm angezeigt wird.

Nachdem wir den Code im obigen Beispiel zusammengestellt und ausgeführt haben, erhalten wir die folgende Ausgabe:

Die obige Ausgabe erklärt, dass wir die Ganzzahlvariable geteilt haben. Vor der Division haben wir die Ganzzahlvariable in den Float -Datentyp konvertiert und den statischen Gussoperator im Ausdruck verwendet, um ihn auch zu teilen. Das Ergebnis zeigt eine Zahl mit dem Dezimalpunkt, da es sich jetzt um eine Float -Variable handelt und Zahlen nach dem Dezimalpunkt speichern kann.

Abschluss:

In diesem Artikel haben wir den Typ Gussmechanismus in der C ++ - Programmiersprache kennenlernen. Viele Arten des Gießens wurden ebenfalls eingehend untersucht, wobei wir uns darauf konzentrierten, warum wir solche Methoden in der C ++ -Programmierung anwenden. Wir haben auch das Konzept des statischen Gießens implementiert, indem wir den statischen Gussoperator in einem Ausdruck in der C ++ - Programmiersprache in der Ubuntu 20 verwendet haben.04 Umgebung.