Witam, uczę się z książki i jestem na etapie modyfikatora const i jego współdziałaniu ze wskaźnikami, rozumiem takie rzeczy:
int a = 10;
const int *pt = &a; //ok
*pt = 10; //źle
int b = 11;
int * const pt2 = &b;
*pt2 = 1; //ok
pt2 = &a; //źle
Rozumiem też zasadę mieszania wskaźników na const i nie const:
//dobrze
int a = 10;
int *pt = &a;
const int *pt2 = pt;
//źle
const int **wsk = &pt;
//wiem że to zależy od tego czy jest tylko jeden poziom przekierowywania czy więcej
Nie mam jednak pojęcia jak rozumieć to:
Pierwszą część rozumiem, ale to:
Adres danej nie-const można przypisać tylko wskaźnikowi nie-const.
Jakim cudem?!
Przecież gdyby to była prawda to takie coś było by błędem:
int x = 666; // nie-const
const int *pt = &x; //wskaźnik na obiekt danych const
Takie coś jest możliwe...
Może coś ja źle rozumiem, już dwa dni analizuje te sprawy ze wskaźnikami i const. Już mam tak tego dość że bierze mnie ochotę rzucić c++ i te wszystkie wskaźniki i zabrać się za JavaScript lub C#... . Dziękuje za pomoc i pozdrawiam