Play around with C++ smart pointer to get an insight on how it works!