我想更好地了解为什么选择int
了unsigned
?
就个人而言,除非有正当理由,否则我从不喜欢带符号的值。例如,数组中的项数,字符串的长度或存储块的大小等,因此这些东西通常不可能为负数。这样的值没有可能的含义。为什么int
在所有此类情况下都令人误解,还是选择它呢?
我问这个,因为这两个Bjarne的Stroustrup的和钱德勒卡鲁斯给了建议,喜欢int
在unsigned
这里(大约12:30' )。
我可以看到使用int
overshort
或long
-的参数int
是目标机器体系结构的“最自然的”数据宽度。
但是无人签名总是让我很烦。在典型的现代CPU架构上,带符号的值是否真的更快?是什么使它们更好?