conversion库

头文件
“boost/cast.hpp”

reinterpret_cast

从指针类型到一个足够大的整数类型
从整数类型或者枚举类型到指针类型
从一个指向函数的指针到另一个不同类型的指向函数的指针
从一个指向对象的指针到另一个不同类型的指向对象的指针
从一个指向类函数成员的指针到另一个指向不同类型的函数成员的指针
从一个指向类数据成员的指针到另一个指向不同类型的数据成员的指针

polymorphic_cast

当对引用类型使用dynamic_cast时,如果转换失败(空的引用)则抛出一个bad::cast类型的异常。
当函数dynamic_cast转化指针类型,转换失败返回空指针

polymorphic_cast转换指针类型,转换失败抛出异常
如果判断类型安全,则选择dynamic_ptr

polymorphic_downcast

dynamic_cast的函数效率比较低,static_cast函数比较快,却存在向下转型危险,要提升速度和安全性,使用polymorphic_downcast,他采用dynamic_cast的转型测试,使用static_cast函数执行转换操作。

numeric_cast转型函数

通过测试是否保持值的范围来确保转换的有效性,当范围超出转换的范围则抛出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值