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

Inteligentne Wskaźniki w C++ (Smart Pointers)

Klasy szablonowe w C++11 zarządzające cyklem życia pamięci dynamicznej zgodnie z paradygmatem RAII, zapobiegające wyciekom pamięci bez ręcznego 'delete'.

Główne typy inteligentnych wskaźników (<memory>):

  1. std::unique_ptr<T>: Wyłączny właściciel zasobu. Nie można go skopiować, można go jedynie przenieść (std::move). Po wyjściu z zakresu automatycznie zwalnia pamięć.
  2. std::shared_ptr<T>: Współdzielone prawo własności. Wykorzystuje licznik referencji (reference counter) – pamięć jest zwalniana, gdy licznik spadnie do 0.
  3. std::weak_ptr<T>: Słaby wskaźnik do obiektu zarządzanego przez shared_ptr bez zwiększania licznika referencji (zapobiega cyklom referencji).

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Inteligentne Wskaźniki w C++ (Smart Pointers) lub rozpocznij trening.