Implizite Typumwandlung
Swipe um das Menü anzuzeigen
Typumwandlungen finden ständig statt. Sie können entweder implizite Umwandlungen sein, die automatisch vom Compiler durchgeführt werden, oder explizite Umwandlungen, bei denen die Typen im Code explizit 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 einem int ein Wert zugewiesen wird, 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 aufgrund unzureichender Genauigkeit vonfloat(oderlong) kommt.
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 implizite Typumwandlung sind die Operationen +, -, *, /. Diese sollten auf Variablen mit demselben Datentyp ausgeführt werden. Ist dies nicht der Fall, führt C++ automatisch eine Typanpassung durch. Zum Beispiel: int / double -> double / double.
Ein weiteres Beispiel, bei dem eine 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 Bedingungen 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