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
elet 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.