当进行从变量的类型转换到一个参考,如:C++从可变类型转换到参考
float f = 1.0f;
int a = (int&) f;
std::cout << a;
为什么会浮点值的实际比特表示(而不是数值)。
当进行从变量的类型转换到一个参考,如:C++从可变类型转换到参考
float f = 1.0f;
int a = (int&) f;
std::cout << a;
为什么会浮点值的实际比特表示(而不是数值)。
你的代码是不确定的行为,从技术上来讲。你的C风格演员做了reinterpret_cast
这是没有被定义为收敛float
左值int&
。也许你只是想投到int
?
为什么要将变量转换为引用,然后将其存储在变量中?
因为C++中的引用意味着“另一个名称”。所以当你将一些东西转换为引用时,你只需要给它一个名字,而不是执行从浮动到整数的值转换。
+1,虽然在这种情况下它是一个匿名名称;-) – 2010-12-07 16:47:17