2010-12-07 57 views
0

当进行从变量的类型转换到一个参考,如:C++从可变类型转换到参考

float f = 1.0f; 
int a = (int&) f; 
std::cout << a; 

为什么会浮点值的实际比特表示(而不是数值)。

回答

4

你的代码是不确定的行为,从技术上来讲。你的C风格演员做了reinterpret_cast这是没有被定义为收敛float左值int&。也许你只是想投到int

0

为什么要将变量转换为引用,然后将其存储在变量中?

1

因为C++中的引用意味着“另一个名称”。所以当你将一些东西转换为引用时,你只需要给它一个名字,而不是执行从浮动到整数的值转换。

+0

+1,虽然在这种情况下它是一个匿名名称;-) – 2010-12-07 16:47:17