Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 147

Który operator w języku C++ jest używany do uzyskiwania adresu zmiennej?

  1. A>
  2. B&Poprawna
  3. C*
  4. Ddelete

Wyjaśnienie

Operator & w języku C++ służy, w kontekście wyrażenia, do pobrania adresu obiektu w pamięci. Jeśli mamy zmienną int liczba = 10;, to zapis int* wsk = &liczba; oznacza: utwórz wskaźnik na int i wpisz do niego adres zmiennej liczba. To jest bardzo ważne przy pracy ze wskaźnikami, przekazywaniu danych do funkcji przez adres, obsłudze struktur danych oraz w starszym stylu programowania systemowego. Moim zdaniem warto od razu kojarzyć &: adres zmiennej, a *: dostęp do wartości pod adresem, bo te dwa operatory często występują razem. Przykład praktyczny: void zwieksz(int* p) { (*p)++; } można wywołać jako zwieksz(&liczba); i wtedy funkcja modyfikuje oryginalną zmienną, nie kopię. W nowoczesnym C++ często preferuje się referencje, inteligentne wskaźniki i kontenery standardowe, zgodnie z dobrymi praktykami C++ Core Guidelines, ale rozumienie operatora & dalej jest podstawą. Bez tego ciężko ogarnąć pamięć, wskaźniki, tablice dynamiczne czy interfejsy niskopoziomowe.