double d2=reinterpret cast<double &>(m);该语句是什么意思?
大一学面向对象,学到类型转换操作符,某课后题:存在语句:int m=10;
double d1=static cast<double>(m);
double d2=reinterpret cast<double &>(m);则d1与d2是相等的。
请问对错? 让我疑惑的点主要是前面double d2后面转换怎么是<double &> 两个都是错的 static_cast
reinterpret_cast 人造人 发表于 2022-4-23 21:34
两个都是错的
第一个double d1=static_cast<double>(m);是可以正确转换的 傻眼貓咪 发表于 2022-4-24 09:23
static_cast
reinterpret_cast
是的我知道是这个 题中的reinterpret为什么前面是的d2定义为double型,后面转换m的时候用了<double &>型 GeraldIAD 发表于 2022-4-24 10:14
是的我知道是这个 题中的reinterpret为什么前面是的d2定义为double型,后面转换m的时候用了型
因为它主要是产生一个新的值,这个值会有与原始值有完全相同的比特位(bit)。
基本上,如果你只是想单纯转换类型,用 static_cast 就可以了。其余 3 个转换法视状况而用。
页:
[1]