Domanda di colloquio di TeamViewer

What is a smart pointer in c++?