C++ programmers do not necessarily need to use plain pointer types when managing memory on the heap (or the free store); they can make use of a smarter option.
In this lesson, you will learn
What smart pointers are and why you need them
How smart pointers are implemented
Different smart pointer types
The C++ standard library–supplied smart pointer class
Popular smart pointer libraries
Very simply said, a smart pointer in C++ is a class, with overloaded operators, which behaves like a conventional pointer yet supplies additional value by ensuring proper and timely destruction of dynamically allocated data and/or implementation of a well-defined object life-cycle management strategy. ...