let mut anwser=42;
let r=&mut anwser;
*r=43;
//println!("{:?},{:?}",anwser, r);// 为什么这样写会报错
println!("{:?}",anwser);//正确
anwser=5;//重新给anwser赋值时,r地址就无效了?
//println!("{:?}",r);//为什么访问不了r
println!("{:?}",anwser);//正确
共 1 条评论
Geek_9ab0d8
2022-02-19
let mut anwser=42;
let r=&mut anwser;
*r=43;
println!("{:?},{:?}",anwser, r);// 为什么这样写会报:cannot borrow `anwser` as immutable because it is also borrowed as mutable
情诗和你
2021-01-17
变量遮蔽后,相同的变量还是指向同一块内存区域吗?
let answer = 1;
let answer = “asdasdads”;
如果遮蔽后的 answer 指向新的内存区域,那原来的内存块不就没有使用到了吗?