Comment peut-static_cast pouvez convertir un int en char, mais pas reinterpret_cast?

Je ne suis pas sûr si elle a été posée tout à l'heure, mais doit avoir été je crois. Considérons la ligne simple pour le début de la question :

int a ;
char b = reinterpret_cast<char> (a);

Je comprends reinterpret_cast interpréter le motif de bits de type x type y, ofcouse il ne devrait pas travailler en raison d'incompatibilité de taille et en effet il n'est pas.

Considérons maintenant ce un autre code:

int a ;
char b = static_cast<char> (a);

Cela fonctionne! . Maintenant, ma question est de savoir comment cela peut fonctionner ? Je veux dire ne le compilateur côtelettes de désactiver les bits? . Je suis certain sizeof(char) < sizeof(int) . Si, reinterpret_cast devrait également fonctionner en même technique ?

InformationsquelleAutor M3taSpl0it | 2013-02-17