Tour durch Rust Inhaltsverzeichnis

Der Operator .

Der Operator . wird verwendet, um auf Felder und Methoden einer Referenz zuzugreifen. Er funktioniert etwas subtiler.

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

Wow, warum mussten wir vor ref_ref_ref_f nicht *** hinzufügen? Das liegt daran, dass der Operator . automatisch eine Kette von Referenzen dereferenziert. Diese letzte Zeile wird vom Compiler automatisch in Folgendes umgewandelt:

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