參照
和 C++ 一樣,Rust 具有參照:
fn main() { let mut x: i32 = 10; let ref_x: &mut i32 = &mut x; *ref_x = 20; println!("x: {x}"); }
注意事項:
- 指派至
ref_x
時,我們必須對其解除參照,這類似於 C 和 C++ 指標。 - 在某些情況下,尤其是在叫用方法時,Rust 會自動解除參照 (請嘗試使用
ref_x.count_ones()
)。 - 宣告為
mut
的參照可在其生命週期內綁定至不同的值。
重要須知:
- 請務必留意
let mut ref_x: &i32
和let ref_x: &mut i32
的差異。前者代表可變動的參照,可綁定至不同的值;後者則代表可變動值的參照。