面试题答案
一键面试struct Point {
x: i32,
y: i32,
}
impl Point {
fn increment_x(&mut self) {
self.x += 1;
}
}
优化原理:通过使用&mut self
,直接在原Point
实例上进行操作,避免了复制x
值然后再赋值回去的操作。Rust的借用规则允许对实例进行可变借用,从而直接修改实例内部字段,提高了效率,减少了不必要的内存复制。
struct Point {
x: i32,
y: i32,
}
impl Point {
fn increment_x(&mut self) {
self.x += 1;
}
}
优化原理:通过使用&mut self
,直接在原Point
实例上进行操作,避免了复制x
值然后再赋值回去的操作。Rust的借用规则允许对实例进行可变借用,从而直接修改实例内部字段,提高了效率,减少了不必要的内存复制。