typestar

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

  1. Rc::new envuelve un valor para compartirlo.
  2. Rc::clone incrementa el conteo, no los datos.
  3. strong_count informa cuántos dueños existen.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 2 en Punteros inteligentes; paso 14 de 15 en Propiedad y préstamos.

← Anterior Siguiente →