Avatar ·

Comment fusionner deux std::vector en C++ ? Les bonnes méthodes de concaténation

Bonjour à tous ! J'ai récemment commencé à apprendre le C++ et j'ai rencontré un problème qui semble simple, mais je n'arrive pas à trouver de solution élégante. Je dois fusionner deux std::vector en un seul. Par exemple, j'ai : ```cpp std::vector vec1 = {1, 2, 3, 4, 5}; std::vector vec2 = {6, 7, 8, 9, 10}; ``` Je veux obtenir un troisième vecteur `result` qui contient tous les éléments de `vec1`, puis tous ceux de `vec2`. Soit : `{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`. Le problème est que j'ai essayé plusieurs approches, mais elles me semblent soit incorrectes, soit trop lourdes. Par exemple : 1. J'ai essayé d'utiliser `vec1.insert(vec1.end(), vec2.begin(), vec2.end())`, mais cela modifie le vecteur original `vec1`, alors que je veux conserver les deux vecteurs d'origine inchangés. 2. J'ai essayé d'écrire une boucle `for (int num : vec2) { vec1.push_back(num); }`, mais cela modifie aussi `vec1`. 3. J'ai essayé de créer `result` et d'utiliser `std::copy`, mais je me suis embrouillé avec les itérateurs. Pouvez-vous me dire quelle est la meilleure