- Hiểu thật chắc về dấu
& mà người mới học Rust thường hay chèn vào
- References (
&variable) : giống như cho ai đó mượn đồ chơi: "có thể nhìn nhưng không được động vào. Dùng xong thì phải trả lại"
- Mutable References (
&mut variable) : giống như cho mượn một cuốn sách tô màu: "có thể xem và tô màu tùy thích, nhưng dùng xong vẫn phải trả lại"
- Owned Values (
variable) : giống như đưa hẳn món đồ chơi cho người khác: "đây, cầm lấy. Có thể dùng tùy ý và không cần trả lại"
- Reference-Counted Pointers (
Rc and Arc) :
Rc giống như đồ trang trí bằng bóng bay trong tiệc sinh nhật của trẻ con. Ai cũng có thể nhìn nhưng bạn không muốn họ chạm vào. Nó phải ở đó cho đến khi đứa trẻ cuối cùng rời đi, và khi đứa cuối cùng đi rồi thì bắt đầu dọn dẹp
- Trong code async/multi-thread thì dùng
Arc. Cách hoạt động giống Rc
3 bình luận
Việc cố tình không giải thích về
RefCell<T>, một công cụ nguy hiểm có thể phớt lờ tất cả những điều đó, là có chủ ý sao?Dù hơi phức tạp hơn một chút, bạn cũng nên xem cả các hình ảnh trong repo này: https://github.com/usagi/rust-memory-container-cs
Thiếu phần giải thích về RefCell!