Des exercices
Ce quiz de 13 questions explore le modèle de gestion de la mémoire de Rust. Il aborde les déplacements de propriété, le trait Copy, les emprunts mutables et immuables, les durées de vie, les slices et les pointeurs intelligents. Les questions évaluent aussi votre compréhension de Rc, Arc, RefCell, Weak et du trait Send, avec des situations proches de celles rencontrées dans des programmes réels.
Répondez aux questions ci-dessous et consultez l'explication de chaque réponse.
0/13 répondues
Audio automatique activé : les prochaines questions seront lues quand vous cliquerez sur Continuer.
String ne possède pas le trait Copy. Son affectation déplace donc la propriété de la valeur vers s2, ce qui rend s1 inutilisable.
Les entiers comme i32 implémentent Copy. L'affectation duplique leur valeur simple, sans invalider la variable d'origine.
Plusieurs références immuables peuvent lire simultanément une valeur. Aucun emprunt mutable chevauchant ces emprunts n'est alors autorisé.
Un emprunt mutable actif doit être exclusif. Un autre emprunt de la même valeur ne peut pas être utilisé pendant la période où cet emprunt mutable reste actif.
Le borrow checker analyse les durées de vie et rejette toute référence susceptible de survivre à la donnée qu'elle désigne.
L'annotation relie la durée de vie du résultat à celles des références d'entrée. En pratique, le résultat ne peut pas dépasser la plus courte durée compatible.
Une valeur de type &str est une vue empruntée sur une plage d'octets UTF-8. Elle ne copie pas les données et ses bornes doivent respecter les caractères.
Les durées de vie non lexicales permettent au compilateur de terminer un emprunt après la dernière utilisation de la référence, même si le bloc continue.
On ne peut généralement pas déplacer directement un champ hors d'une valeur qui implémente Drop. std::mem::replace laisse une nouvelle valeur valide à sa place.
Arc fournit une propriété partagée avec un comptage atomique adapté aux threads. Rc est réservé aux usages non concurrents.
RefCell fournit une mutabilité intérieure en déplaçant la vérification des emprunts vers l'exécution. Une violation entraîne une panique plutôt qu'une erreur de compilation.
Weak crée un lien non propriétaire. Il évite qu'un cycle de références fortes empêche la libération des nœuds.
Le trait Send indique qu'une valeur peut transférer sa propriété entre threads en sécurité. Il ne garantit ni le partage simultané ni l'atomicité de ses opérations.
Des milliers de cours en ligne en vidéo, livres électroniques et livres audio.
Pour tester vos connaissances lors de cours en ligne
Généré directement à partir de la galerie de photos de votre téléphone portable et envoyé à votre adresse e-mail
Téléchargez notre application via QR Code ou les liens ci-dessous :.
+ 10 millions
d'étudiants
Certificat gratuit et
valide avec QR Code
60 mille exercices
gratuits
Note de 4,8/5 dans les
magasins d'applications
Cours vidéo et livres
audio gratuits