是否存在任何已size_t定义为其他内容的实现unsigned int?在我工作的每个系统下,它被定义为unsigned int,所以我只是好奇.
不。但它是无符号整数类型。它不需要特别是int。
http://en.cppreference.com/w/cpp/types/size_t
C++ 标准部分 18.2.6
该类型
size_t是实现定义的无符号整数类型,它足够大以包含任何对象的字节大小。
对于 linux; “在 linux 中定义的 c++ size_t 在哪里”给出long unsigned int
(这个问题最初被标记为 C 和 C++。)
看看这里的答案:
32 位与各种 64 位数据模型的 sizeof(size_t) 是多少?
x86-64和aarch64(arm64)Linux,OS X和iOS都size_t最终被定义为unsigned long.(这是LP64模型.这种事情是平台的ABI的一部分,它也定义了诸如函数调用约定之类的东西.其他架构可能会有所不同.)甚至32位x86和ARM架构unsigned long也在这些操作系统上使用,尽管long碰巧与int那些情况下的表示相同.
我很确定它是Win64 上的unsigned __int64/ unsigned long long.(使用LLP64型号)
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |