--->
fn main() { let mut var = 0_i32; { let p1 = &mut var;//p1 指针本身不能被重新绑定,我们可以通过p1改变变量var的值 *p1 = 1; println!("p1:{}",p1); println!("var:{}",var); } { let temp = 2_i32; let mut p2 = &var;//我们不能通过p2改变变量var的值,但p2指针本身指向的位置可以被改变 println!("p2:{}",p2); p2 = &temp; println!("p2:{}",p2); } { let mut temp = 3_i32; let mut p3 = &mut var;//我们既可以通过p3改变变量var的值,而且p3指针本身指向的位置也可以改变 println!("p3:{}",p3); *p3 = 3; println!("p3:{}",p3); println!("var:{}",var); p3 = &mut temp; println!("p3:{}",p3); } }
--->
输出
p1:1 var:1 p2:1 p2:2 p3:1 p3:3 var:3 p3:3
--->
标签:p2,p3,p1,mut,println,引用,可变,var,Rust From: https://www.cnblogs.com/hardfood/p/16664756.html