Sprytny wskaźnik, inteligentny wskaźnik (ang. smart pointer) to abstrakcyjny typ danych symulujący wskaźnik, dodając przy tym nowe funkcje takie jak odśmiecanie albo sprawdzanie zakresów odwołań (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ż

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.