私は次のような構造体を持っています
struct Foo {
x: [i8;64]
y: i8
}
そして、関数に渡すときに、fooの配列x内の値を更新したいと思います。私が思いつくことができる最善の解決策は、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;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加