1. ホーム
  2. rust

[解決済み] usize` と `u32` の違いは何ですか?

2022-02-27 11:40:11

質問

ドキュメントには usize

ポインタサイズの符号なし整数の演算と定数。

ほとんどの場合 usizeu32 で、何も起こりません。ですから、なぜこんなに似ている2つの型が必要なのか理解できません。

解決方法は?

ドキュメントにあるように usize はポインタサイズなので、実際のサイズはプログラムをコンパイルしているアーキテクチャに依存します。

例として、32ビットx86コンピュータの場合。 usize = u32 一方、x86_64コンピュータの場合。 usize = u64 .

usize は、データ構造内の任意のポインタやオフセットを保持するのに十分な大きさを常に保証してくれますが u32 は、アーキテクチャによっては小さすぎる場合があります。