Des exercices

Propriété, emprunts et durées de vie en Rust

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

  1. 1

    Après l'exécution de « let s1 = String::from("Rust"); let s2 = s1; », que se passe-t-il si le programme tente ensuite d'afficher s1 ?

    Question 1
  2. 2

    Pourquoi les deux variables restent-elles utilisables après « let x = 7_i32; let y = x; » ?

  3. 3

    Qu'autorise Rust pendant qu'une valeur possède plusieurs références immuables actives ?

    Question 3
  4. 4

    Une référence mutable vers une variable est encore utilisée plus loin dans le même bloc. Quelle opération est interdite avant sa dernière utilisation ?

    Question 4
  5. 5

    Quel mécanisme empêche une fonction Rust de renvoyer une référence vers une variable locale détruite à la fin de son exécution ?

  6. 6

    Dans « fn longest<'a>(x: &'a str, y: &'a str) -> &'a str », que garantit principalement l'annotation 'a ?

  7. 7

    Que représente « &texte[0..4] » lorsque texte est une String contenant des caractères ASCII et que les indices sont valides ?

    Question 7
  8. 8

    Avec les durées de vie non lexicales de Rust, quand un emprunt peut-il prendre fin avant la fin de son bloc ?

  9. 9

    Comment extraire légalement un champ String d'une structure qui implémente Drop, tout en laissant la structure dans un état valide ?

  10. 10

    Quel type convient pour partager la propriété d'une même valeur immuable entre plusieurs threads ?

    Question 10
  11. 11

    Quelle caractéristique distingue RefCell<T> d'une référence mutable ordinaire ?

  12. 12

    Dans une structure d'arbre utilisant Rc pour les nœuds enfants, quel pointeur est généralement employé pour le lien d'un enfant vers son parent afin d'éviter un cycle propriétaire ?

    Question 12
  13. 13

    Que signifie principalement l'implémentation du trait Send par un type Rust ?

Téléchargez l'application dès maintenant pour avoir accès à + 5000 cours gratuits, exercices, certificats et de nombreux contenus sans rien payer !

  • Cours en ligne 100% gratuits du début à la fin

    Des milliers de cours en ligne en vidéo, livres électroniques et livres audio.

  • Plus de 60 000 exercices gratuits

    Pour tester vos connaissances lors de cours en ligne

  • Certificat numérique gratuit et valide avec code QR

    Généré directement à partir de la galerie de photos de votre téléphone portable et envoyé à votre adresse e-mail

Application Cursa sur l'écran du livre électronique, l'écran du cours vidéo et l'écran des exercices du cours, ainsi que le certificat de fin de cours