diff options
Diffstat (limited to 'Ownership.md')
-rw-r--r-- | Ownership.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Ownership.md b/Ownership.md new file mode 100644 index 0000000..772153f --- /dev/null +++ b/Ownership.md @@ -0,0 +1,16 @@ +[[Rust]] +[[When heap data is deallocated]] +[[Moved heap data principle]] +[[Creating a reference to a variable is called borrowing]] + + +--- + +When we assign a Box to a name we say that name owns the box. Any time we copy the *pointer* to that box to another name we also pass ownership to that name. + +After we pass ownership and move into a new scope the original variable is freed. Thus when we return to the original scope it is no longer possible to use it. + +[[Passing a pointer to heap data as an argument to a function transfers its ownership]] + +![[Pasted image 20250804184242.png]] +> Wherever the stack variable is greyed out means it is no longer the owner.
\ No newline at end of file |