【发布时间】:2021-06-13 21:52:52
【问题描述】:
我的印象是size_t 是unsigned int。但是我可以在我的代码中只写unsigned int 而不是size_t 吗?
【问题讨论】:
-
这在很多系统上显然是错误的。例如在我的电脑上,
unsigned int是 32 位,size_t是 64 位。 -
请始终使用您所询问的编程语言标记您的问题。我已经添加了c 标签,但是如果您实际上是在询问 C++ 或其他内容,请相应地编辑标签。
-
@NateEldredge 这是我要同时添加 C 和 C++ 的一种情况
-
C++
std::size_t在<cstddef>、<cstdio>、<cstdlib>、<cstring>、<ctime>、<cuchar>或<cwchar>中定义。它实际上是using size_t = decltype(sizeof 0);。它可能与(我不确定这是否详尽)相同:unsigned int、unsigned long或unsigned long long,具体取决于您的平台。 -
@Casey 这是错误的,当已经存在一种或另一种语言的答案时,您不应该添加或更改语言标签。对于如何交叉标记 C 和 C++ 问题,我们也有明确的规则。经验法则是,如果一个问题不包含任何 C++ 痕迹,也没有任何关于使用 C++ 编译器编译的评论,它不应该有 C++ 标签。阅读 C 和 C++ 标签 wiki 了解详细信息。我会回滚。