Sprytny wskaźnik

Sprytny wskaźnik, inteligentny wskaźnik (ang. smart pointer) – abstrakcyjny typ danych symulujący wskaźnik, dodając przy tym nowe funkcje takie jak odśmiecanie albo sprawdzanie zakresów odwołań (ang. bounds checking).

Niektóre sprytne wskaźniki wykonują zliczanie referencji (shared_ptr), inne przekazują kontrolę nad obiektem tylko jednemu wskaźnikowi (auto_ptr). W przypadku języków z automatycznym odśmiecaniem (np. Java, C#) użycie sprytnych wskaźników jest niepotrzebne.

W języku C++ sprytne wskaźniki mogą zostać zaimplementowane jako wzorzec klasy, który dzięki przeciążeniu operatorów, udaje działanie zwykłego wskaźnika (operacje dereferencji, przypisania itp.), definiując dodatkowe algorytmy zarządzania pamięcią.

Zobacz też