ReferĂȘncias

Como C++, o Rust tem referĂȘncias:

fn main() {
    let mut x: i32 = 10;
    let ref_x: &mut i32 = &mut x;
    *ref_x = 20;
    println!("x: {x}");
}

Algumas notas:

  • Devemos desreferenciar ref_x ao atribuĂ­-lo um valor, semelhante Ă  ponteiros em C e C++.
  • Em alguns casos, o Rust desreferenciarĂĄ automaticamente, em particular ao invocar mĂ©todos (tente ref_x.count_ones()).
  • As referĂȘncias que sĂŁo declaradas como mut podem ser vinculadas a diferentes valores ao longo de seu tempo de vida.

Pontos chave:

  • Certifique-se de observar a diferença entre let mut ref_x: &i32 e let ref_x: &mut i32. O primeiro representa uma referĂȘncia mutĂĄvel que pode ser ligada a diferentes valores, enquanto o segundo representa uma referĂȘncia a um valor mutĂĄvel.