參照

和 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: &i32let ref_x: &mut i32 的差異。前者代表可變動的參照,可綁定至不同的值;後者則代表可變動值的參照。