Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Explizite Typumwandlung | Weitere Datentypen und Konzepte
Practice
Projects
Quizzes & Challenges
Quizze
Challenges
/
C++-Datentypen

bookExplizite Typumwandlung

Swipe um das Menü anzuzeigen

Wenn Sie mit Variablen vom Typ int arbeiten, anstatt nur mit Zahlen im Code, müssen Sie den Wert einer Variablen in double oder float umwandeln. Dies kann mit folgender Syntax erreicht werden:

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { int num1 = 9; int num2 = 4; std::cout << "No conversion: " << num1 / num2 << std::endl; std::cout << "With conversion: " << (double)num1 / num2 << std::endl; }

Es gibt mehrere Möglichkeiten, eine explizite Typumwandlung durchzuführen. Diese wird als C-Style-Konvertierung bezeichnet:

main.cpp

main.cpp

copy
123456789101112
#include <iostream> int main() { float num = 6.5; std::cout << (int)num << std::endl; // 6.5 to `int` is 6 std::cout << (bool)num << std::endl; // 6.5 to `bool` is true // Or std::cout << int(num) << std::endl; // 6.5 to `int` is 6 std::cout << bool(num) << std::endl; // 6.5 to `bool` is true }

Obwohl dieser Ansatz prägnant ist, zeigt er die Absicht oder Art der Umwandlung nicht eindeutig an, was zu Mehrdeutigkeiten und möglichem Missbrauch führen kann.

Es gibt explizitere und sicherere Casting-Operatoren, die eine bessere Kontrolle über Typumwandlungen bieten.

In den meisten Fällen wird nur eine static_conversion benötigt. Andere Casts werden wir nicht ausführlich behandeln. Hier ist die Syntax:

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { float num = 6.5; std::cout << static_cast<int>(num) << std::endl; // 6.5 to `int` is 6 std::cout << static_cast<bool>(num) << std::endl; // 6.5 to `bool` is true }

Wir werden den Unterschied zwischen all diesen nicht behandeln. Im Allgemeinen ist static_cast vorzuziehen, da es restriktiver ist und unerwartetes Verhalten bei komplexen Datentypen verhindern kann.

question mark

Wählen Sie alle korrekten Möglichkeiten zur Typumwandlung aus.

Select all correct answers

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 7
some-alt