Everything about Smart pointer
Data type simulating a pointer with additional features
In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse of pointers, while retaining efficiency. Smart pointers typically keep track of the memory they point to, and may also be used to manage other resources, such as network connections and file handles. Smart pointers were first popularized in the programming language C++ during the first half of the 1990s as rebuttal to criticisms of C++'s lack of automatic garbage collection. Rust, which avoids raw pointers and uses ownership to dictate lifetimes, also has smart pointers. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Smart pointerA 5-minute orientation
- Pick up a classic book: Modern Operating SystemsThe most-reprinted book on the subject
- Read the landmark paper: Development of Smart laser Pointer using Image ProcessingCited 0 times
- Go sideways: Destructor (computer programming)A closely related topic
- Go sideways: Auto ptrA closely related topic
📖 Definitions
Noun A form of pointer with additional features such as automatic memory management or bounds checking.
🏆 Landmark papers (most cited)
Development of Smart laser Pointer using Image Processing
Calibration of "Smart Pointer" for Positional Data Acquisition
Experiment of Positional Data Acquisition Using "Smart Pointer"
Study of "Smart Pointer" system to acquire the target position
A Study on Method to Complement Speed of the Reference Counting Smart Pointer
📚 Books worth reading
Modern Operating SystemsAndrew S. Tanenbaum, Herbert Bos · 1992
Word 2010 for DummiesDan Gookin, Judith Muhr · 2010
Data structures and algorithm analysis in CMark Allen Weiss · 1993
Software EssentialsAdair Dingle · 2014
Let Us C++Yashavant Kanetkar · 2002- 📕The co-teaching book of listsKatherine D. Perez · 2012
- 📕Pour mieux développer avec C++ - Design patterns, STL, RTTI et smart pointersGéron, Aurélien, Tawbi, Fatmé · 2003
- 📕How to Earn $3,200 a Month Driving Part-Time for Lyft and UberMarvin Molina · 2018
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Destructor (computer programming) In object-oriented programming, a destructor (sometimes abbreviated dtor) is a method which is invoked mechanically just before the memory of the object…
- Auto ptr In the C++ programming language, auto_ptr (for automatic pointer) is an obsolete smart pointer class template that was available in previous versions of…
- Weak reference In computer programming, a weak reference is a reference that does not protect the referenced object from collection by a garbage collector, unlike a strong…
- Pointer (computer programming) I do consider assignment statements and pointer variables to be among computer science's "most valuable treasures." — Donald Knuth, Structured Programming…
- Resource acquisition is initialization Resource acquisition is initialization (RAII) is a programming idiom used in several object-oriented, statically typed programming languages to describe…
- Boxing (computer programming) In computer science, boxing (a.k.a. wrapping) is the transformation of placing a primitive type within an object so that the value can be used as a reference…
- Variadic template In computer programming, variadic templates or variation generics are templates that take a variable number of type parameters. They exist in several programmin…
- Copy constructor (C++) In the C++ programming language, a copy constructor is a special constructor for creating a new object as a copy of an existing object. Copy constructors…