Rzutowanie a wskaźniki

0

Witam,
mam taki kod:

 #include <iostream>
using namespace std;
int main()
{
   int *wsk_int1;
   int *wsk_int2;
   double *wsk_db;
   double *wsk_db1;
   int a = 50;
   double b = 20;

   wsk_int1 = &a;
   wsk_int2 = wsk_int1;
   cout << *wsk_int1 << "\t" <<*wsk_int2 << endl;

   //double:

   wsk_db = &b;
   wsk_db1 = wsk_db;
   cout << *wsk_db <<"\t" << *wsk_db1 << endl;
   wsk_db = reinterpret_cast<double*>(wsk_int1);
   cout << *wsk_db << endl;

}

Rzutuję tutaj wskaźnik wsk_db aby pokazywał na to samo co wsk_int1.
Rezultat, który przy tym dostaję to adres komórki pamięci. Ale ja chcę, żeby on po prostu pokazał mi tę liczbę ze zmiennej "a". Czy jest to możliwe? Jeżeli tak, to jak mam się do tego zabrać?

0

Przyjmijmy, ze wartosc int ma 4 bajty a wartosc double 8 bajtow. Jezeli chcesz aby wskaznik ktory pokazuje co sie znajduje pod 8 bajtami ustawisz na obiekt ktory zajmuje 4 bajty to wskaznik double wezmie tak jakby dwa kolejne po sobie inty i pokaze cos co jest nieprawda. Jezeli chcesz uzyc rzutowania reinterpret_cast to rzutuj z void* na dany typ

0

Ok, dzieki wielkie, nie pomyślałem o tym mimo,że już miałem styczność :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1