以前に尋ねられたかどうかはわかりませんが、私は信じていたに違いありません。質問の開始のための単純な行を考えてみましょう:
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
同じテクニックで動作するはずですか?