4. Memory model: possession and borrowing
Rust's memory model is undoubtedly one of its most original features: at any given moment, a value is owned by one variable and one variable only, and only the function where this variable is declared can modify it (if it can be modified). If the value of this variable is passed as an argument to another function, the first function can no longer access it. In fact, a variable can be read by several functions, but written by just one, and a reference counter system makes it possible to know precisely whether an object can (must) be abandoned or not. A variable can lend its value to another, pass it on to a function, or (in the case of aggregates such as strings, structures or vectors) create a clone. Creating a clone corresponds to what other languages call "deep copy", as opposed to "shallow copy", with the restriction that once a modifiable variable has lent its value, it can no longer...
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
Memory model: possession and borrowing
Bibliography
- (1) - Async/await on embedded Rust. - Consulté le 17 avril 2022. https://ferrous-systems.com/blog/async-on-embedded/ .
- (2) - LAURENT (B.) -...
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference