shad/cxx2: begin implement smart pointer