cpp / beginner
Snippet
Typkonvertierung mit static_cast
static_cast wird verwendet, um einen Typ auf sichere, explizite Weise in einen anderen zu konvertieren. Wenn du ein double in ein int umwandelst, geht der Dezimalteil verloren. Bei der Konvertierung von int-Division zu double erhältst du genaue Ergebnisse. Die Verwendung von static_cast macht deine Absicht klar und hilft, Fehler zu erkennen.
snippet.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>using namespace std;int main() {double pi = 3.14159;int wholeNumber = static_cast<int>(pi);cout << "Pi as double: " << pi << endl;cout << "Pi as int: " << wholeNumber << endl;int a = 10, b = 3;double division = static_cast<double>(a) / b;cout << "10 / 3 = " << division << endl;char c = static_cast<char>(65);cout << "65 as char: " << c << endl;return 0;}
Erklärung
1
static_cast<int>(pi)
Konvertiert double pi zu Integer, kürzt Dezimalstellen ab
2
static_cast<double>(a) / b
Konvertiert a zu double vor der Division für genaues Ergebnis
3
static_cast<char>(65)
Konvertiert Integer 65 zu seinem ASCII-Zeichen 'A'
4
wholeNumber
Speichert den gekürzten Integer-Wert