Тур по Rust Содержание

Оператор . (точка)

Оператор . используется для доступа к полям и методам ссылки. Он работает более тонко.

let f = Foo { value: 42 };
let ref_ref_ref_f = &&&f;
println!("{}", ref_ref_ref_f.value);

Опа, почему нам не нужно добавлять *** (три звездочки) перед ref_ref_ref_f? Это потому, что оператор . автоматически разыменовывает последовательность ссылок. Последняя строка превращена компилятром в следующий код автоматически.

println!("{}", (***ref_ref_ref_f).value);