切片的减法运算

Minus operation for slices

如何使用以下代码:

let arr: [u8; 3] = [1, 2, 3];
let x1: &[u8] = &arr[0..];
let x2: &[u8] = &arr[1..];
let d: isize = x2 - x1;

我在一个向量中有两个切片,我想知道它们的起始指针之间的区别(在该示例中应该是 1)。

其中一种方法是将指向切片内容的指针转换为 isize 并对这些值进行算术运算:

let arr: [u8; 3] = [1, 2, 3];
let x1: &[u8] = &arr[0..];
let x2: &[u8] = &arr[1..];
let d: isize = x2.as_ptr() as isize - x1.as_ptr() as isize;
println!("{}", d);

但我不确定如果地址不适合 isize

这将如何工作