gpt4 book ai didi

rust - 切片的减法运算

转载 作者:行者123 更新时间:2023-11-29 08:30:20 24 4
gpt4 key购买 nike

如何使以下代码工作:

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,这将如何工作。

关于rust - 切片的减法运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com