鱼C论坛

 找回密码
 立即注册
查看: 1387|回复: 6

[已解决]double d2=reinterpret cast<double &>(m);该语句是什么意思?

[复制链接]
发表于 2022-4-23 21:05:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大一学面向对象,学到类型转换操作符,某课后题:
存在语句:int m=10;
double d1=static cast<double>(m);
double d2=reinterpret cast<double &>(m);则d1与d2是相等的。
请问对错?
最佳答案
2022-4-24 11:09:51
GeraldIAD 发表于 2022-4-24 10:14
是的我知道是这个 题中的reinterpret为什么前面是的d2定义为double型,后面转换m的时候用了型

因为它主要是产生一个新的值,这个值会有与原始值有完全相同的比特位(bit)

基本上,如果你只是想单纯转换类型,用 static_cast 就可以了。其余 3 个转换法视状况而用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-23 21:22:28 | 显示全部楼层
让我疑惑的点主要是前面double d2后面转换怎么是<double &>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-23 21:34:01 | 显示全部楼层
两个都是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-24 09:23:43 | 显示全部楼层
static_cast
reinterpret_cast
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-24 10:14:08 | 显示全部楼层

第一个double d1=static_cast<double>(m);是可以正确转换的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-24 10:14:58 | 显示全部楼层
傻眼貓咪 发表于 2022-4-24 09:23
static_cast
reinterpret_cast

是的我知道是这个 题中的reinterpret为什么前面是的d2定义为double型,后面转换m的时候用了<double &>型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-24 11:09:51 | 显示全部楼层    本楼为最佳答案   
GeraldIAD 发表于 2022-4-24 10:14
是的我知道是这个 题中的reinterpret为什么前面是的d2定义为double型,后面转换m的时候用了型

因为它主要是产生一个新的值,这个值会有与原始值有完全相同的比特位(bit)

基本上,如果你只是想单纯转换类型,用 static_cast 就可以了。其余 3 个转换法视状况而用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表