Ein reinterpret_cast ist der mächtigste und gefährlichste Cast. Denn mit ihm kann man sehr gefährliche Sachen machen: zB einen int in einen Zeiger umwandeln:
#include <iostream>
using namespace std;
int main()
{
char const* s = "Hallo";
int i=reinterpret_cast<int>(s);
cout << "Die Adresse von s ist: "<<i<<'\n';
//schöner würde es mit
//cout<<"Die Adresse von s ist: "<<static_cast<void*>(s)<<'\n';
//gehen
}
Es gibt nur sehr wenige Situationen in denen man einen reinterpret_cast braucht - deshalb sollte man ihn sehr überlegt einsetzen!