Tour de Rust Table des matières

L'opérateur .

L'opérateur . est utilisé pour accéder aux champs et aux méthodes d'une référence. Cela fonctionne un peu plus subtilement que l'opérateur *.

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

Whoa, pourquoi n'avons-nous pas dû ajouter *** avant ref_ref_ref_f? La raison est que l'opérateur . déréférence automatiquement une séquence de références. La dernière instruction du bloc ci-dessus est automatiquement transformée par le compilateur en:

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