在我的代码中,我不使用 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
但我发现:
无符号整数类型非常适合将存储视为位数组的用途。使用 unsigned 而不是 int 来获得更多位来表示正整数几乎从来都不是一个好主意。通过声明变量 unsigned 来确保某些值是正数的尝试通常会被隐式转换规则所挫败。
在C++ 编程语言一书中。
所以我很困惑。我错了吗?为什么 STL 不遵守书上的建议?