reinterpret_cast                                                        Übersicht Keywords C++

Der reinterpret_cast Operator ist für gefährliche Umwandlungen! Man kann ihn nämlich für die Konvertierung zwischen verschiedenen Zeigertypen und zum anderen für die Konvertierung von Ganzzahlen in Zeiger und umgekehrt einsetzen. Solche Dinge sind z.T. plattformabhängig. 


#include <iostream>
using namespace std;


// gibt einen Hashcode basierend auf einer Adresse zurück

unsigned short Hash( void* p )
{
   unsigned int val = reinterpret_cast<unsigned int>( p );
   return static_cast<unsigned short>( val ^ (val >> 16) );
}


int main()

{

  int a[20];
  for ( int i = 0; i < 20; i++ )
  {
    cout << Hash( a + i ) << endl;
  }
 
}



Übersicht Keywords C++