Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我一直因为使用uint而不是.size_tsize_tuint
uint
size_t
是否有任何编译器实现size_t实际上不是 a uint?这种批评的依据是什么?
size_t是“与您可以在机器中使用的最大可能地址范围相匹配的大小”(或大致具有这种效果的一些词)。
特别是,size_t在 64 位机器上是 64 位,在 32 位系统上是 32 位。
我假设uint缺少unsigned int,这几乎是普遍的 32 位(这些天,一些较旧的系统将使用 16 位整数)。因此,在 64 位系统上,anunsigned int仍然是 32 位,尽管内存分配、字符串等的大小可能大于 32 位 - 如果您尝试使用uint该大小,则会出现问题。
unsigned int