- Mieux comprendre ce
& que les débutants en Rust insèrent souvent
- References (
&variable) : c’est comme prêter un jouet : « Tu peux le regarder, mais tu ne peux pas y toucher. Et une fois que tu as fini, tu me le rends. »
- Mutable References (
&mut variable) : c’est comme prêter un livre de coloriage : « Tu peux le regarder et le colorier comme tu veux, mais il faut me le rendre après. »
- Owned Values (
variable) : c’est comme donner son jouet à quelqu’un : « Tiens, prends-le. Tu peux en faire ce que tu veux, et tu n’as pas besoin de me le rendre. »
- Reference-Counted Pointers (
Rc et Arc) :
Rc est comme une décoration en ballons à l’anniversaire d’un enfant. Tout le monde peut la regarder, mais on préfère que personne n’y touche. Elle doit rester là jusqu’à ce que tous les enfants soient partis, et quand le dernier s’en va, on commence le rangement.
- Dans du code asynchrone/multithread, on utilise
Arc. Son fonctionnement est le même que Rc.
3 commentaires
Est-ce que le fait de ne pas expliquer exprès que
RefCell<T>est un outil dangereux qui permet d’ignorer tout le reste ?C’est un peu plus complexe, mais il est aussi utile de regarder les illustrations de ce dépôt : https://github.com/usagi/rust-memory-container-cs
Il manque une explication sur
RefCell!