C++中的类型转换之隐式与显示转换

本文介绍了C++中的隐式和显示类型转换。隐式转换包括混合类型表达式、条件表达式、变量初始化等场景,涉及指针、bool、枚举等类型的转换。显示转换即强制类型转换,包括dynamic_cast、const_cast、static_cast和reinterpret_cast,其中const_cast用于去除const属性,static_cast用于编译器隐式转换,dynamic_cast支持运行时类型识别,reinterpret_cast提供底层位模式重新解释。C++也支持C语言的强制类型转换符号以保持兼容性。
摘要由CSDN通过智能技术生成

       在编程中,类型转换在所难免,在此我将介绍一下C++中常用的隐式转换和强制类型转换。

关于隐式转换:

       在C++中,某些类型之间存在相关的依赖关系,若两种类型相关,则可以再需要某种类型的操作数位置上,使用该类型的相关类型对象或值。

       C++并不是吧两个不同类型的值直接加在一起,而提供了一组转换规则,一边在执行算数操作之前,将两个操作数转换为同一种数据类型。这些转换规则由编译器自动执行,无需我们再介入。因此,也被成为隐式转换。

发生隐式转换的情况:

       1.在混合类型的表达式中,其操作数被转换为相同类型。

       2.用作条件的表达式(?:,!,&&,||,if,while,for,do while)被转换为bool类型。

       3.用一表达式初始化某个变量,或将一表达式被转换为该变量的类型。

隐式转换类型:

       1.指针转换:在使用数组时,大多数情况下数组都会自动转换为指向第一个元

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值