C/C++语言篇:C++中四种 cast 转换

本文详细介绍了C++中的四种强制类型转换:static_cast主要用于基类和派生类之间的转换,但下行转换不安全;const_cast用于去除const属性,适用于临时修改const变量;dynamic_cast支持动态类型转换,适用于含有虚函数的类,转换失败会返回NULL或抛出异常;reinterpret_cast转换广泛,但可能导致问题,应谨慎使用。
摘要由CSDN通过智能技术生成

C++中四种强制类型转换是:static_cast,dynamic_cast,const_cast,reinterpret_cast

1、static_cast
  • static_cast(静态转换)本质上是c语言强制转换的替代品;
  • 另外还能用于基类和派生类之间指针或引用的转换;
    - 进行上行转换(把派生类的指针或引用转换成基类表示),是安全的;
    - 进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的;
char a = 'a';
int b = static_cast<int>(a);/
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值