Wskaźniki
Kurs C++ · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
Wskaźnik przechowuje adres innego obiektu.
Jak to działa?
&number pobiera adres zmiennej, a *ptr odczytuje wartość spod adresu. Nie dereferencjonuj wskaźnika nullptr.
W nowoczesnym C++ preferuj zarządzanie zasobami przez obiekty RAII.
Przykład 1 — poznaj zapis
int number = 42;
int* ptr = &number;
std::cout << *ptr;
*ptr = 50;
Po zmianie *ptr zmienna number ma wartość 50.
Przeczytaj kod linijka po linijce
int number = 42;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.int* ptr = &number;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.std::cout << *ptr;Wyświetlamy wartość, aby sprawdzić efekt działania programu.
42 (następnie przez *ptr ustawiona zostaje wartość 50)
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
int x = 12;
int* p = &x;
std::cout << *p;
12
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Sprawdź, czy wskaźnik jest różny od nullptr przed użyciem.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.