摘要:本文主要向大家介绍了C/C++知识点之C++中四种类型转换的关键字介绍及实例讲解,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之C++中四种类型转换的关键字介绍及实例讲解,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
C++有四种类型转换关键字,分别是:
(1) . static_cast (2) const_cast (3) reinterpret_cast (4) dynamic_cast
这四种类型转换关键字分别使用在不同的情况下。下文对这四个关键字进行比较分析:
(1).static_cast : 可以实现C++中内置基本数据类型之间的转换,如果涉及到类的话,static_cast只能在相互联系的类型中进行相互转换,不一定包含虚函数。
(2).const_cast : 不能在不同种类间转换。相反,它仅仅把一个它作用的表达式转换成常量。它可以使一个本来不是const类型的数据转换成const类型的,或者把const属性去掉。
(3).reinterpret_cast: 有着和c风格的强制转换同样的能力。它可以转化任何内置的数据类型为其他任何的数据类型,也可以转换任何指针类型为其他的类型。它甚至可以转化内置的数据类型为指针,无需考虑类型安全或者常量的情形。不到万不得已,不要轻易使用。
(4).dynamic_cast :
<1> : 其他三种都是编译时完成的,dynamic_cast是运行时处理的,运行时要进行类型检查。
<2> :不能用于内置的基本数据类型的强制转换。
<3> : dynamic_cast转换如果成功的话,返回的是指向类的指针或者引用,转换失败的话则返回NULL。
<4> : 使用dynamic_cast进行转换时,基类中一定要有虚函数,否则编译不通过。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号