Memory model: possession and borrowing
Rust Programming Language
Quizzed article REF: H3098 V2
Memory model: possession and borrowing
Rust Programming Language

Author : Laurent BLOCH

Publication date: June 10, 2022, Review date: February 29, 2024 | Lire en français

Logo Techniques de l'Ingenieur You do not have access to this resource.
Request your free trial access! Free trial

Already subscribed?

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...

You do not have access to this resource.
Logo Techniques de l'Ingenieur

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?


Article included in this offer

"Software technologies and System architectures"

( 227 articles )

Complete knowledge base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

View offer details