小编典典

unsigned int 与 size_t

all

我注意到现代 C 和 C++ 代码似乎在几乎所有地方都使用size_t而不是int/ ——从 C 字符串函数的参数到 STL。unsigned int我很好奇这样做的原因及其带来的好处。


阅读 119

收藏
2022-03-10

共1个答案

小编典典

size_t类型是无符号整数类型,它是sizeof运算符(和offsetof运算符)的结果,因此保证它足够大以包含系统可以处理的最大对象的大小(例如,8Gb
的静态数组)。

size_t类型可能大于、等于或小于,并且您的unsigned int编译器可能会对其进行优化以进行假设。

您可以在 C99 标准第 7.17 节中找到更精确的信息,该标准的草案在 Internet 上以pdf格式提供,或者在 C11 标准第 7.19 节中,也以pdf
草案
的形式提供。

2022-03-10