boost::smart_ptr;scoped,shared,weak