Implizite Typumwandlung
Swipe um das Menü anzuzeigen
Typumwandlung findet ständig statt. Sie kann entweder implizite Umwandlung sein, die automatisch vom Compiler durchgeführt wird, oder explizite Umwandlung, bei der die Typen explizit im Code umgewandelt werden.
main.cpp
1234567#include <iostream> int main() { int num = 6.5; // Implicit type conversion std::cout << num << std::endl; }
Im Beispiel wird 6.5, eine Gleitkommazahl, implizit in int umgewandelt (wobei der Dezimalteil entfernt wird).
Implizite Typumwandlung erfolgt, wenn der Typ einer Variablen nicht mit dem vom Compiler erwarteten Typ übereinstimmt (z. B. wenn wir einen Wert einem int zuweisen, erwartet der Compiler eine Ganzzahl und führt eine Typumwandlung durch, falls er etwas anderes erhält).
- Rote Pfeile stehen für Datenverlust. Zum Beispiel geht beim Konvertieren von
floatzulong(oderint) der Dezimalteil verloren; - Grüne Pfeile stehen für keinen Datenverlust. Zum Beispiel kann
intsicher inlongumgewandelt werden, das Ergebnis bleibt gleich; - Gelber Pfeil bei der Umwandlung von
long(oderint) zufloat(oderlong) bedeutet, dass es manchmal zu einem Datenverlust kommt, da die Genauigkeit vonfloat(oderlong) nicht ausreicht.
main.cpp
1234567891011#include <iostream> #include <iomanip> int main() { int num_int = 123456789; float num_float = num_int; std::cout << std::setprecision(10); std::cout << num_float << std::endl; }
Ein weiteres Beispiel für die implizite Typumwandlung sind die Operatoren +, -, *, /. Diese sollten auf Variablen mit demselben Datentyp angewendet werden. Ist dies nicht der Fall, führt C++ automatisch eine Typanpassung durch. Zum Beispiel: int / double -> double / double.
Ein weiteres Beispiel, bei dem die implizite Typumwandlung auftritt, sind Bedingungen. Zum Beispiel die if-Anweisung.
Sie erwartet, dass die Bedingung vom Typ bool ist. Dank der impliziten Typumwandlung können jedoch auch andere Datentypen als Bedingung verwendet werden. Hier ist eine Abbildung, die zeigt, wie sie in bool umgewandelt werden:
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen