Avatar ·

Wie man zwei std::vector in C++ zusammenführt? Korrekte Methoden zur Verkettung

Hallo zusammen! Ich habe kürzlich angefangen, C++ zu lernen, und bin auf eine Aufgabe gestoßen, die einfach erscheint, aber ich finde keine elegante Lösung. Ich muss zwei std::vector zu einem zusammenführen. Zum Beispiel habe ich: ```cpp std::vector vec1 = {1, 2, 3, 4, 5}; std::vector vec2 = {6, 7, 8, 9, 10}; ``` Ich möchte einen dritten Vektor `result` erhalten, der alle Elemente aus `vec1` und dann alle aus `vec2` enthält. Also: `{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`. Das Problem ist, dass ich mehrere Ansätze ausprobiert habe, aber sie erscheinen mir entweder falsch oder zu umständlich. Zum Beispiel: 1. Ich habe versucht, `vec1.insert(vec1.end(), vec2.begin(), vec2.end())` zu verwenden, aber das verändert den ursprünglichen Vektor `vec1`, während ich beide ursprünglichen Vektoren unverändert lassen möchte. 2. Ich habe versucht, eine Schleife `for (int num : vec2) { vec1.push_back(num); }` zu schreiben, aber das ändert auch `vec1`. 3. Ich habe versucht, `result` zu erstellen und `std::copy` zu verwenden, aber ich bin mit den Iteratoren durcheinandergekommen. Könnt ihr mir bitte sagen, was der beste Weg ist?