- Rust Programming Cookbook
- Claus Matzinger
- 177字
- 2021-06-24 12:27:51
Shared ownership
Ownership and borrowing are fundamental concepts in Rust; they are the reason no runtime garbage collection is required. As a quick primer: how do they work? In short: scopes. Rust (and many other languages) use (nested) scopes to determine the validity of a variable, so it cannot be used outside of the scope (like a function). In Rust, these scopes own their variables, so they will be gone after the scope finishes. In order for the program to move around values, it can transfer ownership to a nested scope or return it to the parent scope.
For temporary transfers (and multiple viewers), Rust has borrowing, which creates a reference back to the owned value. However, these references are less powerful, and sometimes more complex to maintain (for example, can the reference outlive the original value?), and they are probably the reason why the compiler complains.
In this recipe, we are getting around this problem by sharing ownership using a reference counter that only drops the variable after the counter reaches zero.
- Android Wearable Programming
- Arduino by Example
- 簡單高效LATEX
- Java FX應用開發教程
- R語言編程指南
- C語言程序設計實踐教程
- Instant QlikView 11 Application Development
- Elasticsearch Server(Third Edition)
- Mastering Linux Security and Hardening
- OpenGL Data Visualization Cookbook
- JavaScript+jQuery網頁特效設計任務驅動教程
- Learning Unreal Engine Game Development
- Python編程入門(第3版)
- 金融商業數據分析:基于Python和SAS
- Swift從入門到精通 (移動開發叢書)