gpt4 book ai didi

arrays - 修改结构中数组的最佳方法?

转载 作者:行者123 更新时间:2023-12-03 11:47:11 25 4
gpt4 key购买 nike

我有一个像下面的结构

struct Foo {
x: [i8;64]
y: i8
}
当我通过函数传递值时,我想在 x中更新数组 Foo中的值。我能想到的最好的解决方案是制作一个可变的 x副本,然后更新该副本,然后使用新数组创建一个新的 Foo
fn updateFoo(myFoo: Foo, index: usize, newvalue: i8) -> Foo {
let mut newX = myFoo.x;
newX[index] = newvalue;
Foo {
x: newX,
y: myFoo.y,
}
}
这是在Rust中变异结构中数组的一种有效且惯用的方法吗? 有哪些替代方法可以更新Rust内的数组中的值?谢谢您的帮助。

最佳答案

您也可以将可变的引用传递给Foo:

struct Foo {
x: [i8; 64],
y: i8,
}

fn updateFoo(myFoo: &mut Foo, index: usize, newvalue: i8) {
myFoo.x[index] = newvalue;
}
playground

关于arrays - 修改结构中数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65270356/

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