cpp / beginner
Snippet
Static Cast: Sichere Typumwandlung
static_cast ist ein Compile-Zeit-Typumwandlungsoperator, der grundlegende Typumwandlungen sicher durchführt. Er überprüft gültige Umwandlungen zur Compile-Zeit, was das Finden von Fehlern erleichtert. Hier wandeln wir einen int in double um, einen double in int (abschneidend den Dezimalteil), und ein char in seinen ASCII-Ganzzahlwert. Dies ist sicherer als C-Style Casting und macht deine Absicht für andere Entwickler klar.
snippet.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>using namespace std;int main() {int wholeNumber = 42;double decimalNumber = 3.14;double convertedNum = static_cast<double>(wholeNumber);int convertedInt = static_cast<int>(decimalNumber);cout << "Integer to double: " << convertedNum << endl;cout << "Double to integer: " << convertedInt << endl;char letter = 'A';int asciiValue = static_cast<int>(letter);cout << "Char 'A' as integer: " << asciiValue << endl;return 0;}
Erklärung
1
static_cast<double>(wholeNumber)
Wandelt int wholeNumber in double um - fügt Dezimalteil hinzu (.0)
2
static_cast<int>(decimalNumber)
Wandelt double in int um - kürzt (schneidet ab) den Dezimalteil, Ergebnis ist 3
3
static_cast<int>(letter)
Wandelt char 'A' in seinen ASCII-Zahlwert um, welcher 65 ist
4
cout << "Double to integer: " << convertedInt
Gibt 3 aus weil .14 gekürzt wurde als 3.14 in int umgewandelt wurde
5
cout << "Char 'A' as integer: " << asciiValue
Gibt 65 aus weil das der ASCII-Code für Großbuchstabe A ist