c++强制转换运算符

强制转换运算符是一种特殊的运算符,它把一种数据类型转换为另一种数据类型

强制转换运算符是一元运算符,它的优先级也与其他一元运算符相同

大多数的c++编译器都支持大部分通用的强制转换运算符:

(type ) expression

其中type是转换后的数据类型,下面列出了c++支持的其他几种强制转换运算符


const_cast<type>(expr)

const_cast运算符用于修改类型的const/volatile属性,除了const或volatile属性之外,目标类型必须与源类型相同,这种类型的转换主要是用来操作所传对象的const属性,可以加上也可以去掉


dynamic_cast<type>(expr)

dynamic_cast在运行时执行转换,验证转换的有效性,如果转换未执行,则转换失败,表达式expr被判定为null。dynamic_cast在执行动态转换时,type必须是类的指针,类的引用或者void*,如果type是类指针类型,那么expr也必须是一个指针,如果type是一个引用,那么expr也必须是一个引用


reinterpret_cast<type>(expr)

reinterpret_cast运算符把某种指针改为其他类型的指针。它可以把一个指针转换为一个整数,也可以把一个整数转换为一个指针


static_cast<type>(expr)

static_cast运算符执行非动态转换,没有运行时类检查来保证转换的安全性,例如,它可以用来把一个基类指针转换为派生类指针

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值