2010-12-07 47 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