首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
简述一下 C++ 中的四种类型转换
[问答题]
简述一下 C++ 中的四种类型转换
添加笔记
求解答(0)
邀请回答
收藏(105)
分享
纠错
8个回答
添加回答
5
BugWriter404
static_cast没有动态类型检查,不安全;dynamic检查;const_cast去const 属性;reinterpret_cast 最不安全
发表于 2023-02-26 09:34:49
回复(0)
4
雏鹰划空
1. static_cast<>:静态类型转换:在编译期发挥作用,不会进行类型检查,其安全性需要程序员自己保证。常用于基本类型的转换。上行转换,也就是,派生类指针装换成基类指针是安全的,反之就不安全。 2. dynamic_cast<>:动态类型转换:作用时期是运行时期,具有类型检查的作用,所以主要用于类层次的上行和下行的转换。 3. reinterpret_cast<>:重解释转换: int num = 0x00636261;//用16进制表示32位int,0x61是字符'a'的ASCII码 int * pnum = # char * pstr = reinterpret_cast<char>(pnum); cout<<"pnum指针的值: "<<pnum><<endl>(pstr)<</endl></pnum></char>
发表于 2023-11-11 10:49:16
回复(2)
2
至今0offer选手
静态转换,去常转换,重新解释,动态转换
发表于 2022-07-28 20:32:21
回复(0)
0
_helios_
static_cast:静态转换,用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。 dynamic_cast:用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。有动态类型检查,在进行下行转换时是安全的。 const_cast:用来修改类型的const属性。常量指针被转化成非常量指针,并且仍然指向原来的对象。常量引用被转换成非常量引用,并且仍然指向原来的对象。注意:不能直接对非指针和非引用的变量使用 const_cast 操作符 reinterpret_cast:重新解释转换。最不安全的一种转换机制,最有可能出问题 。主要用于将一种数据类型从一种类型转换为另一种类型。
发表于 2024-05-21 09:58:36
回复(0)
0
牛客393524079号
static_cast 静态转换,没有类型安全检查,是不安全的,转换的安全性也要开发人员来保证 dynamic_cast 动态转换,具有类型检查的功能,比 static_cast 更安全 const_cast 常量转换,常量指针(引用)被转化成非常量指针(引用),并且仍然指向原来的对象,不能直接对非指针和非引用的变量使用 reinterpret_cast 重新解释转换 这是最不安全的一种转换机制,最有可能出问题 主要用于将一种数据类型从一种类型转换为另一种类型,它可以将一个指针转换成一个整数,也可以将一个整数转换成一个指针
发表于 2023-11-11 20:53:20
回复(0)
0
Bengdai
static_cast 静态转换 dynamic_cast 动态转换 const_cast 常量转换 reinterpret_cast 重解释转换
发表于 2023-08-28 18:45:30
回复(0)
0
hcodeboy
const_cast: 取消const属性 static_cast dynamic_cast reinterpret_cast
发表于 2023-08-11 20:38:00
回复(0)
0
踏实的懒羊羊说我这儿没问题啊
static_cast dynamic_cast const_cast reinterpret_cast
发表于 2023-07-12 16:37:26
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++
上传者:
real19931
难度:
8条回答
105收藏
1466浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
1.该校教师最多的是哪一年?( ...
资料分析
言语理解与表达
资料分析
评论
(1)
有同事不完成任务,影响力进度,你怎...
业务综合
评论
(1)
你身边有哪些人还没有使用滴滴,你认...
用户研究
评论
(1)
怎么做一个需求
需求分析
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题