Referencias
Al igual que C++, Rust tiene referencias:
fn main() { let mut x: i32 = 10; let ref_x: &mut i32 = &mut x; *ref_x = 20; println!("x: {x}"); }
Algunas notas:
- Debemos desreferenciar
ref_x
al asignarle un valor, de forma similar a los punteros de C y C++. - Rust realizará una desreferencia automática en algunos casos, en especial al invocar métodos (prueba
ref_x.count_ones()
). - Las referencias que se declaran como
mut
se pueden vincular a distintos valores durante su tiempo de vida.
Puntos clave:
- Ten en cuenta la diferencia entre
let mut ref_x: &i32
ylet ref_x: &mut i32
. La primera representa una referencia mutable que se puede vincular a distintos valores, mientras que la segunda representa una referencia a un valor mutable.