gpt4 book ai didi

c++ - 何时/何地/为什么 size_t 不是 uint?

转载 作者:行者123 更新时间:2023-11-30 00:53:12 27 4
gpt4 key购买 nike

我因使用 uint 而不是 size_t 而受到很多批评,但每次我检查我正在使用的工具链时都会发现 size_t 被定义为一个 uint

是否有任何编译器实现中 size_t 实际上不是 uint?这种批评的依据是什么?

最佳答案

size_t 是“与您可以在机器中使用的最大可能地址范围相匹配的大小”(或一些粗略的词)。

特别是,size_t 在 64 位机器上为 64 位,在 32 位系统上为 32 位。

我假设 uintunsigned int 的缩写,这几乎是普遍的 32 位(如今,一些旧系统会使用 16 位整数) .因此在 64 位系统上,unsigned int 仍将是 32 位,尽管内存分配、字符串等的大小可能大于 32 位——如果您尝试使用这会导致问题uint 大小。

关于c++ - 何时/何地/为什么 size_t 不是 uint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com