Pregunta de entrevista de TeamViewer

What is a smart pointer in c++?