Ответ 1
Как указано в документации usize
размер указателя, поэтому его фактический размер зависит от архитектуры вашей компиляции вашей программы.
В качестве примера, на 32-битном компьютере x86, usize = u32
, а на компьютерах x86_64, usize = u64
.
usize
дает вам гарантию быть всегда достаточно большой, чтобы удерживать любой указатель или любое смещение в структуре данных, а u32
может быть слишком маленьким на некоторых архитектурах.