【发布时间】:2015-08-28 20:56:13
【问题描述】:
谁能解释以下代码中发生了什么?
char cd[1024];
unsigned short int & messageSize =reinterpret_cast<unsigned short int&>(*cd);
它是否通过引用获取 cd 的前 2 个字符并将其转换为 16 位 int? 当我删除“&”时,编译器抱怨无法从 char 转换为 unsigned short int。
unsigned short int messageSize =reinterpret_cast<unsigned short int>(*cd);
【问题讨论】:
-
(int&)x与*(int *)&x相同