Witam, mam takie nurtujące mnie pytanie, ponieważ zaskoczyło mnie, iż w C++ nie mogę stworzyć wskaźnika do stałej, jeśli on sam też nie będzie const. Natomiast w C można tak robić.
W C to wygląda tak:
#include <stdio.h>
int main()
{
const double LICZBA_PI =3.14;
double *wsk = &LICZBA_PI;
printf("%f", *wsk);
return 0;
}
Natomiast w C++ tak się nie da zrobić, choć dzięki temu dziwnemu tworowi, można mieć taki wskaźnik jak w C
#include <iostream>
using namespace std;
int main()
{
const double liczbaPI = 3.14;
const double *wskDoStalej = &liczbaPI;
double *wskaznik = const_cast<double *>(wskDoStalej);
cout << *wskaznik << endl;
return 0;
}
Czy ktoś mógłby mi odpowiedzieć czemu w C++ musi być to szczególnie zaznaczone, że to wskaźnik na stałą?