- Klar verstehen, was es mit dem
& auf sich hat, das Rust-Einsteiger oft einfügen
- Referenzen (
&variable) : wie ein Spielzeug auszuleihen: „Du kannst es ansehen, aber nicht anfassen. Wenn du fertig bist, gib es zurück.“
- Veränderbare Referenzen (
&mut variable) : wie ein Malbuch auszuleihen: „Du kannst es ansehen und nach Belieben ausmalen, aber wenn du fertig bist, musst du es zurückgeben.“
- Eigentumswerte (
variable) : wie jemandem ein Spielzeug zu schenken: „Hier, nimm es. Du kannst damit machen, was du willst, und musst es nicht zurückgeben.“
- Referenzgezählte Zeiger (
Rc und Arc) :
Rc ist „wie Ballondekorationen auf einem Kindergeburtstag. Jeder kann sie sehen, aber man möchte nicht, dass sie jemand anfasst. Sie müssen dort bleiben, bis alle Kinder gegangen sind, und wenn das letzte Kind geht, beginnt das Aufräumen.“
- In asynchronem oder Multithread-Code verwendet man
Arc. Es funktioniert wie Rc.
3 Kommentare
Wurde
RefCell<T>als gefährliches Werkzeug, mit dem man all das ignorieren kann, absichtlich nicht erklärt?Es ist zwar etwas komplexer, aber es lohnt sich, sich auch die Bilder in diesem Repository anzusehen: https://github.com/usagi/rust-memory-container-cs
Die Erklärung zu
RefCellfehlt!