Rust · Essencial · Português · Técnico
referência compartilhada
Referência &T que dá acesso somente de leitura a um valor e pode existir em quantidade ilimitada ao mesmo tempo, desde que ninguém altere o dado.
Onde usar
É o que você passa para funções que só leem. Se alguém tenta alterar o valor enquanto ela está viva, o compilador recusa.
Em código
let v = vec![1, 2, 3];
let a = &v;
let b = &v;
println!("{} {}", a.len(), b[0]);Exemplos
Passe uma referência compartilhada, a função só precisa ler.
Posso ter várias referências compartilhadas ao mesmo vetor.
Cuidado
Compartilhada não significa imutável para sempre: tipos com mutabilidade interior, como Cell e RefCell, podem mudar mesmo atrás de um &T.
Sinônimos
referência imutável, &T
Antônimos
referência mutável