从防 rust 指南:
为了解引用(得到被引用的值,而不是引用本身),我们使用星号(
*
)
所以我做到了:
fn main() {
let x = 1;
let ptr_y = &x;
println!("x: {}, ptr_y: {}", x, *ptr_y);
}
这给了我相同的结果(x=1;y=1),即使没有明确的解引用:
fn main() {
let x = 1;
let ptr_y = &x;
println!("x: {}, ptr_y: {}", x, ptr_y);
}
为什么?ptr_y
不应该打印内存地址,*ptr_y
不应该打印1吗?是否存在某种自动取消引用或我错过了什么?