今天又遇到一个unsigned 类型减到小于0结果溢出的情况。
现在倒是对于unsigend的感觉变成除非必要否则不用的情况了。
本来也是倡导追求极致,如果一个类型是只有正值,那么用unsigned是多么的贴切啊。
但是这个问题也可以反过来看,如果没有必要用到unsigned所提供的多余的那个位的存储,又何必用unsigned呢?
由于类型感染的问题,这样的代码真的有点不太容易一眼看出来问题,
所以觉得除非有必要用到unsigned所提供的额外一个bit,还是不用unsigned的好,毕竟小于0的溢出比大于int这种溢出发生频率高的多。