Smart Pointer
A smart pointer is an ADT that simulates a pointer while providing added features, such as automatic memory management or bounds checking
Link:
Types of Smart Pointers C++ libraries provide implementations of smart pointers in the following types:
unique_ptr
Unique Pointershared_ptr
Shared Pointerweak_ptr
Weak Pointerauto_ptr
To use them, make sure to include the <memory>
library