Witam, mam pewnie dosc prymitywne i abstrakcyjne pytanie, ale ciekawi mnie jedna kwestia. Jesli chcemy zmienic wartosc prywatnego pola w klasie, nie korzystajac z metod skladowych klasy to kompilator zarzuci nam, ze nie mozna tego zrobic - wszystko jasne. Ale dlaczego w momencie przekazania adresu danego, prywatnego pola do jakiejs zmiennej poza klasa, jest mozliwa jego modyfikacja? Jak dokladnie reaguje kompilator?
Kompilacja a pamięć
- Rejestracja: dni
- Ostatnio: dni
4
Nijak.
private chroni tylko składniki klasy. Ten wskaźnik, który zwrócisz, nie jest składnikiem klasy. Pokazuje na składnik, ale nim nie jest. "Pokazywania" nikt nie chroni.