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!
Already subscribed? Log in!
Memory model: possession and borrowing
Article included in this offer
"Software technologies and System architectures"
(
227 articles
)
Updated and enriched with articles validated by our scientific committees
A set of exclusive tools to complement the resources
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!
Already subscribed? Log in!