aaronhe 发表于 2019-02-22 14:26
Tags:借用,作用域
借用的原则是任何借用必须位于比拥有者更小的作用域。那么为什么下面的代码能运行?
fn main() { let mut x = 1; let y = &mut x; *y += 1; print!("{}", x) }
y的作用域确实小于x 而且x实现了Copy trait,所以对它的使用是不会移动x的 即使没有实现Copy trait,对x的使用也发生在y修改之后,对y没有影响
评论区
写评论y的作用域确实小于x 而且x实现了Copy trait,所以对它的使用是不会移动x的 即使没有实现Copy trait,对x的使用也发生在y修改之后,对y没有影响