Avatar ·

Comment concaténer correctement deux vecteurs (Vec) en Rust ? Meilleures méthodes de concaténation

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème pour concaténer deux vecteurs. Supposons que j'ai deux vecteurs de nombres : `vec1` et `vec2`. Je dois obtenir un troisième vecteur qui contient tous les éléments du premier, puis tous ceux du second. En Python, j'écrirais simplement `vec1 + vec2`, mais cela ne fonctionne pas en Rust. J'ai essayé plusieurs méthodes, mais je ne suis pas sûr de laquelle est correcte et efficace. Voici mon code : ```rust let mut vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // Tentative 1 : addition simple (ne compile pas) // let result = vec1 + vec2; // Tentative 2 : via extend vec1.extend(vec2); println!("{:?}", vec1); // J'obtiens [1, 2, 3, 4, 5, 6], mais vec1 a été modifié // Tentative 3 : via une boucle let mut result = Vec::new(); for item in &vec1 { result.push(*item); } for item in &vec2 { result.push(*item); } ``` Problèmes : 1. `extend` prend possession et modifie le vecteur d'origine, ce qui n'est pas toujours pratique. 2. La boucle semble lourde et probablement pas