&はreference、*はdereference
GPT-4.icon
code:rust
fn main() {
let x = 10;
let y = &x; // xのreference
println!("{}", *y); // yをdereferenceしてxの値を取得
}
*yは、参照yを「解除」してxの値を得ています。
table:まとめ
記号 役割 例
&T イミュータブル参照の作成 let y = &x;
&mut T ミュータブル参照の作成 let y = &mut x;
*T デリファレンス(参照の解除) *y