生锈有什么帮助和帮助?

问题描述 投票:-1回答:2

isize和usize可以不同吗?它们都可以用于内存大小,索引,偏移量。

由于usize用于数组,为什么我们不只是使用usize

我是Rust的新手,所以这可能是一个基本问题。

更新:在32位系统上,它们都是32位长,在64位系统上,它们都是64位长。无论标志如何。

rust
2个回答
4
投票

在32位系统上,isizei32相同,usizeu32相同。在64位系统上,isizei64相同,usizeu64相同。

  • usize不能为负数,通常用于内存地址,位置,索引,长度(或大小!)。
  • isize可以是负数,通常用于地址,位置,指数或长度的偏移。

3
投票

isize是基于体系结构(例如32位/ 64位)签名(负/ 0 /正)整数类型。

here

原始类型的帮助

指针大小的有符号整数类型。

另请参见std :: isize模块。

此原语的大小是引用内存中任何位置所需的字节数。例如,在32位目标上,这是4个字节,在64位目标上,这是8个字节。

usize是基于体系结构的(例如32位/ 64位)无符号(0 /正)整数类型。

here

原始类型的帮助

指针大小的无符号整数类型。

另请参见std :: usize模块。

此原语的大小是引用内存中任何位置所需的字节数。例如,在32位目标上,这是4个字节,在64位目标上,这是8个字节。

© www.soinside.com 2019 - 2024. All rights reserved.