Rust Odyssey

Leçons
Login Rejoindre

x

Chapitre 3

Gestion de la mémoire

4. Ownership

Règles de propriété

Rust apporte un nouveau concept en programmation, le concept d’ownership (de propriété en français).

Il y a 3 règles de propriété à connaitre :

  • Chaque valeur appartient à un propriétaire (owner)
  • Il ne peut y avoir qu’un owner à la fois
  • Quand le propriétaire sort de la portée la valeur est effacée (drop)
fn main() {
    let x: Vec<u8> = vec![1, 2, 3];
}
flowchart LR

subgraph Owner
direction TB
    X[x]
    Y[y]
end

subgraph Heap
direction TB
    V["vec![1,2,3]"]
end

style Heap fill:none,stroke:none
style Owner fill:none,stroke:none

X ~~~ V

V --> X
fn main() {
    let x: Vec<u8> = vec![1, 2, 3];
    let y: Vec<u8> = x;
}
flowchart LR

subgraph Owner
direction TB
    X[x]
    Y[y]
end

subgraph Heap
direction TB
    V["vec![1,2,3]"]
end

style Heap fill:none,stroke:none
style Owner fill:none,stroke:none

Y ~~~ V

V --> Y

Lorsqu’on assigne à une variable une valeur sur la Heap, le propriétaire change et l’ancien propriétaire se retrouve alors sans valeur et n’est plus utilisable, ce mécanisme est appellé un move car le propriétaire de la valeur est “déplacé”.

Tu veux en apprendre plus ? 👋

C'est la fin de la partie gratuite... 😔

Accède à l’intégralité de la formation, à un Discord francophone actif, à des résumés écrits et à toutes les futures mises à jour pour seulement 95€ !

Login Rejoindre