- Entender con claridad el
& que quienes empiezan con Rust suelen insertar a menudo
- References (
&variable) : es como prestar un juguete: "Puedes verlo, pero no tocarlo. Cuando termines de usarlo, devuélvelo"
- Mutable References (
&mut variable) : es como prestar un libro para colorear: "Puedes verlo y también colorearlo como quieras, pero cuando termines de usarlo, tienes que devolverlo"
- Owned Values (
variable) : es como darle tu juguete a otra persona: "Toma. Puedes usarlo como quieras y no hace falta que me lo devuelvas"
- Reference-Counted Pointers (
Rc y Arc) :
Rc es "como una decoración de globos en la fiesta de cumpleaños de un niño. Todos pueden verla, pero preferimos que no la toquen. Debe quedarse ahí hasta que se vaya el último niño, y cuando eso pase empieza la limpieza"
- En código asíncrono o multihilo se usa
Arc. Funciona igual que Rc
3 comentarios
¿Será que omitieron a propósito explicar que
RefCell<T>es una herramienta peligrosa que puede ignorar todo eso?Es un poco más complejo, pero también conviene ver las imágenes en este repositorio: https://github.com/usagi/rust-memory-container-cs
¡Faltó la explicación sobre
RefCell!