Modèle de mémoire : possession et emprunt
Rust (langage de programmation)

Ajouter à la bibliothèque

H3098 V2 Article de référence
Interactif Logo doc&quiz

Modèle de mémoire : possession et emprunt
Rust (langage de programmation)

Auteur(s) : Laurent BLOCH

Relu et validé le 29 février 2024 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter un extrait gratuit

Déjà abonné ?

4. Modèle de mémoire : possession et emprunt

Le modèle de mémoire de Rust est sans doute l’une de ses caractéristiques les plus originales : à un instant donné une valeur est possédée par une variable et une seule, et seule la fonction où est déclarée cette variable peut la modifier (si elle est modifiable). Si la valeur de cette variable est passée en argument à une autre fonction, la première fonction ne peut plus y accéder. En fait, une variable est accessible en lecture par plusieurs fonctions, mais en écriture par une seule, et un système de compteur de références permet de savoir précisément si un objet peut (doit) être abandonné ou non. Une variable peut prêter sa valeur à une autre, la transmettre à une fonction, ou (dans le cas des agrégats tels que chaînes de caractères, structures ou vecteurs) on peut en créer un clone. La création d’un clone correspond à ce que dans d’autres langages on nomme copie profonde, par opposition...

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Cet article est réservé aux abonnés Consulter un extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Linux embarqué

Linux est un système d'exploitation multitâche de la famille UNIX. Développé initialement sur processeur ...

Compilateur

Un compilateur est un logiciel permettant de transformer un programme source (écrit dans un langage de pr...

Programmation par aspects

La programmation par aspects (en anglais « aspect-oriented programming ») est un style de dével...

Langage UML : développement de logiciel et modélisation visuelle

Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes log...

Tous les livres blancs
Article Vers un nouveau record des cyberattaques ?
25 septembre 2019
Vers un nouveau record des cyberattaques ?

Année après année, c’est toujours le même constat : peu ou mal protégées, les entreprises et les administrations sont de plus en plus nombreuses à être victimes...

Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous