King interview question

What is a smart pointer in C++?