std::dynamic_pointer_cast 是 C++ 中用于在 std::shared_ptr 智能指针之间进行动态类型转换的函数模板。它位于 <memory> 头文件中,并与其他类型转换函数(如 static_pointer_cast 和 const_pointer_cast)一起提供了方便且安全的智能指针类型转换操作。
std::dynamic_pointer_cast 可以将一个 std::shared_ptr 智能指针从一个派生类类型向另一个派生类类型进行转换,前提是这两个类之间存在继承关系。如果转换成功,将返回一个新的 std::shared_ptr,指向目标类型的对象;如果转换失败,则返回一个空的 std::shared_ptr。
以下是一个示例,展示了如何使用 std::dynamic_pointer_cast 进行动态类型转换:
#include

订阅专栏 解锁全文
413

被折叠的 条评论
为什么被折叠?



