ExpertiDict

Rust · Intermediário · Inglês · Técnico

Rc

/ɑːɹ siː/substantivo

Ponteiro com contagem de referências para dados compartilhados em uma única thread. Cada clone aumenta o contador, e o valor é liberado quando chega a zero.

Onde usar

Aparece em grafos e árvores com nós compartilhados, quase sempre junto de RefCell. Ao tentar enviá-lo para outra thread, o compilador recusa.

Em código

use std::rc::Rc;
let a = Rc::new(String::from("x"));
let b = Rc::clone(&a);
println!("{}", Rc::strong_count(&a));

Exemplos

Use Rc to share the node between parents.

Use Rc para compartilhar o nó entre os pais.

Rc isn't Send, so it can't cross threads.

Rc não é Send, então não cruza threads.

Cuidado

Rc não é thread-safe; para várias threads use Arc. Ciclos de Rc vazam memória.

Sinônimos

ponteiro contado

Antônimos

Arc

Origem

Sigla de reference counted, 'com contagem de referências'.

Veja também

Todos os termos de Rust