In dieser Lektion stelle ich Ihnen den reinterpret_cast vor. Der reinterpret_cast wird mit Abstand am seltensten von allen C++ casts verwendet. Die anderen drei, dynamic_cast, static_cast und der const_cast kommen viel häufiger zum Einsatz. Ich gehe sogar so weit zu sagen, dass wer den reinterpret_cast häufig verwendet, vermutlich ein Problem in seinem Code hat. Das ist nämlich ein Anzeichen dafür, dass in dem Code die Typen nicht richtig zusammen passen und sozusagen durch einen reinterpret_cast nachbearbeitet werden müssen, um die Typen zu konvertieren. Was kann der reinterpret_cast? Er ermöglicht es, einen Zeiger in einen beliebigen anderen Zeiger zu koncetieren, sowie einen integralen Typ in einen Zeiger und umgekehrt zu konvertieren. Ich habe hier ein rotes Ausrufezeichen gesetzt mit dem Stop-Symbol, um auszudrücken, dass der C++ Standard nur zusichert, dass das Hin- und Zurückkonvertieren eines Zeigers in einen anderen Typ den ursprünglichen Wert ergibt. Alles andere ist undefiniertes Verhalten. Das würde ich Ihnen gerne zeigen. Ein ganz kleines Programm. Hier habe ich einen Pointer auf ein double. Sie sehen das hier. Ich lege double dynamisch an. Dann caste ich diesen Pointer auf void. Dann habe ich einen Void-Pointer und caste wieder hoch auf double. Dann habe ich einen double-Pointer. Sie sehen double void double. Diese Sequenz ist wohldefiniert und liefert das gewünschte Ergebnis. Alles andere wie double void float stellt undefiniertes Verhalten dar und kann von daher jedes beliebige Ergebnis liefern. In dieser Lektion habe ich Ihnen den reinterpret_cast vorgestellt und Ihnen auch die Einschätzung gegeben, dass der reinterpret_cast extrem selten verwendet wird.