Avatar ·

Comment ajouter un vecteur à la fin d'un autre en C++ (append vector to vector)

Bonjour ! Je viens de commencer à apprendre le C++ et la STL. J'ai deux vecteurs, et je veux ajouter tous les éléments du second vecteur à la fin du premier. J'ai essayé plusieurs façons, mais aucune ne fonctionne comme je l'attends. Voici mon code : ```cpp #include #include int main() { std::vector vec1 = {1, 2, 3}; std::vector vec2 = {4, 5, 6}; // J'essaie d'ajouter vec2 à vec1 vec1.append(vec2); // Erreur : pas de méthode append // J'essaie avec insert vec1.insert(vec2.begin(), vec2.end()); // Erreur de compilation // J'essaie avec push_back dans une boucle for (int i = 0; i < vec2.size(); i++) { vec1.push_back(vec2[i]); // Fonctionne, mais semble horrible } return 0; } ``` La première option ne compile pas du tout, car std::vector n'a pas de méthode append. La deuxième option donne une erreur, car insert attend un itérateur sur la position d'insertion, alors que je ne passe qu'une plage. La troisième option fonctionne, mais je pense que ce n'est pas efficace.