Une longue, dans les architectures 32 bits, est représenté par deux mots. Maintenant, imaginez ce qui pourrait arriver si, en raison de l'insuffisance de la synchronisation, l'exécution de l'instruction switch observe avec son haut de 32 bits à partir d'une écriture, et le 32 bas à partir d'un autre! Il pourrait essayer d'aller en......qui sait où! Fondamentalement, quelque part au hasard. Même si les deux écrit représenté cas valables pour l'instruction switch, leur drôle de la combinaison de probablement conduire ni à la première ni à la seconde, ou extrêmement pire, il pourrait conduire à un autre, mais sans rapport avec les cas!
Au moins avec un int (ou moins de types), peu importe à quel point vous vous trompez, l'instruction switch permettra au moins de lire une valeur que quelqu'un a effectivement écrit, au lieu d'une valeur "out of thin air".
Bien sûr, je ne connais pas la réelle raison (ça fait plus de 15 ans, je n'ai pas fait attention que long!), mais si vous vous rendez compte à quel point dangereux et imprévisible, une telle construction pourrait être, vous serez d'accord que c'est certainement un très bonne raison de ne jamais avoir un interrupteur longs (et tant -jeu de mots - il y aura des machines 32 bits, cette raison demeureront valides).