Witam wszystkich.
Załapałem główne zastosowanie tego rzutowania ale czy nie można nim oszukiwać kompilatora. Wklepałem więc krótki kawałek kodu i bardzo się zdziwiłem.
#include <iostream>
using namespace std;
int main()
{
const int stala = 5;
int *wsk = const_cast<int*>(&stala);
*wsk = 150;
cout.width (10);
cout << "wsk " << wsk << " " << *wsk << "\n";
cout.width (10);
cout << "stala " << &stala << " " << stala << "\n";
return 0;
}
a oto wynik:
wsk 0x28ff08 150
stala 0x28ff08 5
Nie rozumiem skoro wskaźnik pokazuje na ten sam adres co stała to dlaczego wyświetlają się dwie różne wartości pod tym adresem?