最佳答案
我对借贷和所有权感到困惑
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", x);
他们说
println!
可以借用x
。
我对此感到困惑。如果 println!
借用 x
,为什么它通过 x
而不是 &x
?
我尝试在下面运行这个代码
fn main() {
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", &x);
}
除了我将 &x
传递给 println!
之外,这段代码与上面的代码完全相同。它将“6”打印到控制台,这是正确的,并且与第一个代码的结果相同。