upadte share_ptr.cpp