(int&)a是什麼意思

有如下程序

 

double a=1.0f;

cout<<(int&)a<<endl;

 

輸出爲0

 

其實(int&)a就是將a轉換爲int型的引用,輸出的話只是將double型1.0的前4個字節解釋爲int型處理,所以是0;

如果 int&b=(int&)a; 這樣定義的話就好理解了,其實與指針類型轉換是一樣的。如果a是float型的話輸出就不是0了,它將float型的二進制碼直接解釋爲int了。double和float的二進制表示具體方式在此就不說了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章