文件上说 usize是
usize
指针大小的无符号整数的操作和常数。
在大多数情况下,我可以用 u32代替 usize,但什么也不会发生。所以我不明白为什么我们需要两种如此相似的类型。
u32
由于 文件说明 usize是指针大小的,因此它的实际大小取决于您编译程序所使用的体系结构。
例如,在32位 x86计算机 usize = u32上,而在 x86 _ 64计算机 usize = u64上。
usize = u32
usize = u64
usize保证总是足够大以容纳数据结构中的任何指针或任何偏移量,而 u32在某些架构中可能太小。
加上@Levans 的回答,
usize的大小取决于引用内存中任何位置所需的大小。
在32位目标 usize上是4字节,在64位目标 usize上是8字节