字符百科

c语言强制类型转换详解(四种强制类型转换)

时间:2024-08-20 10:20:12

C++是一种强类型语言,对类型的检查非常严格,我们可以使用C语言中的(NewType)Expression来对某个变量或者表达式返回值进行强转,也可以使用C++中提供的新式转换操作符:const_cast,dynamic_cast,reinterpret_cast,static_cast。下面介绍着四种转换使用的不同场景。

一,const_cast

const_cast顾名思义,用来将对象的常亮性转除,使常亮可以被修改。const_cast(varible)中的type必须是指针,引用,或者指向对象类型成员的指针。

二,dynamic_cast

用来处理一种“安全向下转换”,当我们将父类指针指向一个new出来的子类A对象时,如果该父类有多个不同子类(class A,class B,),那么可以使用dynamic_cast将该指针类型安全转换为A*,如果使用强转操作符或者下面介绍的static_cast,那么将其转换为B*理论上也是可以的,但是使用上就会有错误

三,reinterpret_cast

是特意用于底层的强制转型,导致实现依赖(就是说,不可移植)的结果,例如,将一个指针转型为一个整数。这样的强制类型在底层代码以外应该极为罕见。操作结果只是简单的从一个指针到别的指针的值的二进制拷贝。在类型之间指向的内容不做任何类型的检查和转换。

四,static_cast

static_cast用来处理隐式转换,等同于C语言中的(NewType)Expression强转,它可以将int转为float,也可以将char*转为int,将指向基类的指针转为一个指向子类的指针,同时可以将non-const转为const对象,但是它不能将一个const对象转为non-const(这个是const_cast的功能)。此处就不再举例。

相关推荐
名家名笔 | 劳动节的礼物

名家名笔 | 劳动节的礼物

我认识凌家滩遗址首席考古领队、全国文物先进工作者张敬国好多年了,这个月底,我写的关于他的考古人生的报告文学《敬国者,缚苍龙也》即将完稿,作为五一劳动节的礼物,献给这位24年奋斗在凌家滩,以考古之光照亮文明之源的考古工作者。△凌家滩国家考古遗址公园全景图。图片来源:新华社说起凌家滩,人们总会讲起198

2025-05-02 01:10:00

卡迪燃气灶售后服务中心实时反馈-今-日-资-讯

卡迪燃气灶售后服务中心实时反馈-今-日-资-讯

卡迪燃气灶服务网点热线:400-883-2086, 为您提供卡迪燃气灶维修点查询、卡迪燃气灶售后维修服务商等查询服务。覆盖的卡迪燃气灶维修点地址电话。卡迪燃气灶售后服务承诺;1.上门服务时间(周一至周日8:00-21:00)2..师傅接单后30分钟到达目的地(情况除外)

2025-05-02 00:01:55

Guarda保险柜400全国各售后服务热线号码实时反馈-今-日-更-新

Guarda保险柜400全国各售后服务热线号码实时反馈-今-日-更-新

Guarda保险柜作为家用设备的领先品牌,始终致力于为用户提供高品质的产品和专业的售后服务。无论您遇到任何问题,都可以拨打Guarda保险柜售后服务电话:400-883-2086,我们的专业团队将为您提供及时、高效的解决方案。Guarda保险柜400全国各售后服务热线号码实时反馈-今-日-更-新

2025-05-01 23:58:01

华伦基尼燃气灶号码-全国统一400客服24小时服务热线实时反馈-今-日-汇-总

华伦基尼燃气灶号码-全国统一400客服24小时服务热线实时反馈-今-日-汇-总

华伦基尼燃气灶全国售后服务点热线号码是:400-883-2086,这是一条全年无休、24 小时在线的人工服务热线。无论您是急需取用重要物品却发现其出现故障,还是日常使用中察觉到异常,拨打该热线,华伦基尼燃气灶专业售后团队将迅速响应,为您提供帮助。接下来为您详细介绍华伦基尼燃气灶常见故障分析。华伦

2025-05-01 23:55:05

长虹(CHANGHONG)燃气壁挂炉售后全国服务号码多少实时反馈-今-日-汇-总

长虹(CHANGHONG)燃气壁挂炉售后全国服务号码多少实时反馈-今-日-汇-总

长虹(CHANGHONG)燃气壁挂炉在市场上受到了广泛用户的喜爱和信任,尤其是其全国24小时客服热线,为用户提供了一个方便快捷的服务渠道。近期有许多用户向我们反映了一个共同的问题——长虹(CHANGHONG)燃气壁挂炉是否频繁出现故障的现象?针对这一疑问,我们将从以下几个方面为您解答:长虹(

2025-05-01 22:55:52