Sprytny wskaźnik, inteligentny wskaźnik () – abstrakcyjny typ danych symulujący wskaźnik, dodając przy tym nowe funkcje takie jak odśmiecanie albo sprawdzanie zakresów odwołań ().
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ż referencja biblioteka Boost dla C++ zawiera sprytny wskaźnik wykonujący reference counting Standard Template Library
Kategoria:Typy danych