A smart pointer is a class that wraps a ‘raw’ (or ‘bare’) C++ pointer, to manage the lifetime of the object being pointed to. There is no single smart pointer type, but all of them try to abstract a raw pointer in a practical way.

(Lloyd 2008)

Bibliography

Lloyd. 2008. “Answer to ‘What Is a Smart Pointer and When Should I Use One?’.” Stack Overflow. https://stackoverflow.com/a/106614.