(int&)a 等價於 *((int*)&a)。
(int)a:值轉換,按目標類型規則轉換數值(如 float→int 截斷)。(int&)a:重新解釋位元,不改變記憶體位元,直接按 int 格式讀取該記憶體區域。
float a = 1.0f;
(int)a; // 值轉換 → 1
(int&)a; // 位元重讀 → 1065353216 (IEEE 754 中 1.0 的位模式)
符號位(1) | 指數(11) | 尾數(52)
0 | 01111111111 | 000...0 (1.0 的 double 表示)
```
按 int 讀取(低 32 位):0x3FF00000 = 1072693248(視平台端序)。
float 指標強轉 int* 觀察位模式)警告:(int&)a 違反嚴格別名規則,屬於未定義行為,僅供理解記憶體表示,生產代碼應用 memcpy 或 union 安全檢視位模式。