dynamic_cast和dynamic_pointer_cast的使用

dynamic_cast 的常见使用场景是 :基类指针/引用转换为派生类指针/引用

运行时类型检查

dynamic_cast 会在运行时检查对象的实际类型,确保转换是合法的。如果转换不成功,返回 nullptr(对于指针转换)或者抛出 std::bad_cast 异常(对于引用转换)

dynamic_pointer_cast 是 C++11 引入的智能指针类型转换操作符,专门用于 std::shared_ptrstd::unique_ptr 等智能指针的类型转换。它的作用与 dynamic_cast 类似,但是是针对智能指针的

std::shared_ptr<Derived> dynamic_pointer_cast<std::shared_ptr<Derived>>(std::shared_ptr<Base> ptr);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值