Kompilacja a pamięć

Kompilacja a pamięć
WY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

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?

Endrju
  • 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.

WY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

no tak, jest to dosc oczywiste i logiczne:) dzieki za wyjasnienie:)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.