Rust Odyssey

Leçons Le Book
Login
Rejoindre

🦀 Connexion réussie !

x

Chapitre 4

Abstractions de niveau 1

4. Lifetime

Pourquoi a-t-on besoin des lifetimes ?

Rust cherche à éviter les problèmes avec la mémoire et un des plus gros problèmes niveau mémoire sont les “dangling références”.

Une dangling reference est une référence qui pointe vers une donnée qui n’existe plus, c’est à dire qu’on a un pointeur (une adresse mémoire) qui pointe vers une donnée qui n’existe plus en mémoire.

Le problème c’est qu’on va forcémment avoir une surprise au moment de récupérer la valeur dans cette adresse mémoire sachant que la valeur a été effacée par le programme, elle aura pu être réécrite par un autre programme etc.

#include <stdio.h>

int* get_number() {
    int x = 42;
    return &x;
}

int main() {
    int* p = get_number();

    printf("%d\n", *p); //Parfois 42, parfois 18374656 ou -912345
    // ou n'importe quelle valeur random

    return 0;
}

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