【发布时间】:2013-02-17 17:46:51
【问题描述】:
我不确定之前是否有人问过,但我相信一定是这样。考虑问题开头的简单行:
int a ;
char b = reinterpret_cast<char> (a);
我了解reinterpret_cast 将 x 类型的位模式解释为 y 类型,当然由于大小不匹配,它不应该工作,实际上它不工作。
现在考虑另一个代码:
int a ;
char b = static_cast<char> (a);
这行得通! .现在我的问题是它如何工作?我的意思是编译器会砍掉这些位吗? .我确定sizeof(char) < sizeof(int)。如果那样,reinterpret_cast 也应该使用相同的技术?
【问题讨论】:
标签: c++ type-conversion