Tour di Rust Indice dei Contenuti

L'Operatore .

L'operatore . viene usato per accedere a campi e metodi di un riferimento. Funziona in modo un po' più sottile.

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

Perché non abbiamo dovuto aggiungere *** prima di ref_ref_ref_f? È perché l'operatore . dereferenzia automaticamente una sequenza di riferimenti. L'ultima riga viene trasformata automaticamente dal compilatore in questo modo:

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