这个问题已经在这里有一个答案:
- 签名与无符号整数的长度/计数 4个回答
在我的代码,我不使用int或unsigned int。 我只用为size_t或ssize_t供便携。 例如:
typedef size_t intc; // (instead of unsigned int)
typedef ssize_t uintc; // (instead of int)
因为strlen
, string
, vector
...所有使用size_t
,所以我通常使用size_t
。 而我只用ssize_t
当它可能为负。
但是,我发现:
无符号的整数类型是理想的可治疗存储作为比特阵列的用途。 使用的,而不是一个int无符号,以获得一个更位代表正整数是几乎从来没有一个好主意。 试图确保某些值是通过声明的变量无符号通常被隐式转换规则被打败阳性。
在这本书的C ++编程语言 。
所以我很困惑。 我错了吗? 为什么STL没有书上的提示遵守?