由于可能,在实际加/减之前有很多关于检测整数溢出的问题undefined behavior.所以,我的问题是
为什么它会首先产生这个undefined behavior?
我可以想到两个原因:
1)在这种情况下生成异常的处理器.当然,它可以切换,很可能是一个写得很好的CRT会做到这一点.
2)使用数字的其他二进制表示的处理器(1的补码?基数10?).在这种情况下,未定义的行为将表现为不同的结果(但不会崩溃!).好吧,我们可以忍受这一点.
那么,为什么有人会避免造成它呢?我错过了什么吗?
c ×1