Eine explizite Typumwandlung in der Sprache C wird durch folgende Anweisung erreicht:
float zahl1 = 5.45f;
int zahl2 = (int) zahl1;
Die gleiche Anweisung kann in C++ wie folgt aussehen:
float zahl1 = 5.45f;
int zahl2 = int( zahl1 );
Anhänger des C++-Standards bevorzugen neben der oben dargestellten "funktionalen" Schreibweise den Bezeichner
static_cast<Typ>(Ausdruck)
als Ersatz für die castings im C-Stil. Damit wird Ausdruck in den Datentyp Typ umgewandelt.
float zahl1 = 5.45f;
int zahl2 = static_cast<int>( zahl1 );
Zur Klarstellung folgt hier ein kleines Programm mit allen drei Methoden im Vergleich:
#include <iostream>
using namespace std;
int main()
{
float zahl1 = 5.45f;
int zahl2 = (int) zahl1; // C
int zahl3 = int( zahl1 ); // C++ "funktional"
int zahl4 = static_cast<int>( zahl1 ); // C++
cout << zahl2 << "\t" << zahl3 << "\t" << zahl4 << endl;
}