>>30
>例えば掛け算するだけでオーバーフローチェックをしています。
>普通のC/C++では、そのようなコードを生成しないものなのです

16 * 16 ビットは、絶対に、32ビットに納まる!
32 * 32 ビットは、絶対に、64ビットに納まる!

例えば、10進数で考えても、
2 * 2桁は、絶対に、4桁に納まるだろ。
99 * 99 = 9,801

絶対に、掛け算のオーバーフローは起きない!