On this page
article
Ownership
Ownership
What Is Ownership?
- Ownership in simple terms means to have possession of something.
- Let’s look at a real-life analogy to explain this concept. If something belongs to you, you say “It’s mine”.
- Similarly, in Rust, variable bindings can have ownership of what they are bound to.
Three Rules of Ownership
The following are three rules of ownership:
Rule 1
Each value has a variable binding called its owner.
Rule 2
There can only be one owner at a time.
Rule 3
- When an owner goes out of scope, it does not remain accessible.
- When the variable goes out of scope, Rust calls function drop automatically at the closing curly bracket (to deallocate the memory).
fn main() {
let a = 1; // variable a is the owner of the value 1
let b = 1; // variable b is the owner of the value 1
let c = 3; // variable c is the owner of the value 3
println!("a : {}", a);
println!("b : {}", b);
println!("c : {}", c);
}// value a, b, c are out of scope outside this block
output
a : 1
b : 1
c : 3
- When using the assignment, two situations happen:
- The value gets copied
- The value gets moved
Last updated 25 Jan 2024, 05:11 +0530 .