Rc: propiedad compartida en Rust
Conteo de referencias para que un valor tenga varios dueños.
use std::rc::Rc;
fn main() {
let shared = Rc::new(vec![1, 2, 3]);
let a = Rc::clone(&shared);
let b = Rc::clone(&shared);
let count = Rc::strong_count(&shared);
let total: i32 = a.iter().sum();
println!("{count} {total} {}", b.len());
}
Cómo funciona
Rc::newenvuelve un valor para compartirlo.Rc::cloneincrementa el conteo, no los datos.strong_countinforma cuántos dueños existen.
Palabras clave y builtins usados aquí
fni32letuse
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 238
- Tokens
- 91
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 55 segundos.
Paso 2 de 2 en Punteros inteligentes; paso 14 de 15 en Propiedad y préstamos.