sp<Base> b; sp<Derived> d; b = static_cast<Base*>(d.get()); 对于c++原生的智能指针,有static_pointer_cast之类的操作方法。可以看cppreference。