Przejdź do treści głównej
INF.04Języki i Składnia Programowania

Wskaźnik i Referencja w C++

Wskaźnik przechowuje adres w pamięci operacyjnej (*ptr), a referencja stanowi bezpieczny alias (drugą nazwę) dla istniejącej zmiennej (&ref).

Wskaźnik (*) vs Referencja (&):

  • Wskaźnik:
    • Może wskazywać na nullptr.
    • Może zostać przestawiony na inny adres pamięci.
    • Wymaga operatora wyłuskania / dereferencji (*) do odczytu wartości oraz operatora -> do wywołania metod.
  • Referencja:
    • Musi zostać zainicjalizowana w momencie deklaracji.
    • Nie może wskazywać na null.
    • Po powiązaniu nie można zmienić referowanego obiektu.
CPP
int liczba = 42;
int* ptr = &liczba; // ptr przechowuje adres zmiennej liczba
int& ref = liczba;  // ref jest aliasem liczby

*ptr = 100; // Zmiana wartości pod adresem -> liczba wynosi 100

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Wskaźnik i Referencja w C++ lub rozpocznij trening.