与之对比,`dynamic_cast` 用于原生指针或引用的动态类型转换。`dynamic_cast` 在运行时检查类型的合法性,如果转换合法,则返回转换后的类型;如果不合法,且用于指针,则返回空指针,用于引用,则抛出 `std::bad_cast` 异常。 二者的主要区别在于它们作用的对象类型: 1. `std::dynamic_pointer_cast` 用于 `std::sh...
dynamic_pointer_cast用于转换std::shared_ptr类型,例如从基类上的指针转换为派生类上的指针:...