Из руководства Rust:
Чтобы разыменовать (получить значение, а не ссылку)
y
, мы используем звездочку (*
)
Итак, я сделал это:
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? Есть ли какая-то автоматическая развязка или я что-то пропустил?