Я путаюсь с заимствованием и владением. В документации Rust о ссылках и заимствованиях
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", x);
Говорят,
println!
может братьx
.
Я смущен этим. Если println!
занимает x
, почему он передает 'x' not '& x'?
Я пытаюсь запустить этот код ниже
fn main() {
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", &x);
}
Этот код идентичен приведенному выше коду, за исключением того, что я передаю '& x' в println!
. Он выводит "6" на консоль, что является правильным и является тем же результатом, что и первый код.