teile eines vectors ans ende eines anderen kopieren
-
Huhuuu,
ich möchte aus meinem einen vector vec_1
vector<int> vec_1;die Stellen 0-50 an das Ende meines vectors vec_2
vector<int> vec_2;verschieben (also kopieren und löschen).
Habe gefunden das es die Funktion
std::copy()gibt und in dem vector kann ich dann mit
vec_2.erase()die Stellen löschen.
Aber wie kann ich denn jetzt die stellen 0-50 ansprechen und wie kann ich sagen dass das an Ende des anderen vector geschrieben werden kann?
Danke an Euch alle!!!
-
#include <vector> #include <algorithm> // std::copy() #include <iterator> // std::back_inserter() // Möglichkeit 1 std::copy(vec_1.begin(), vec_1.begin() + 50, std::back_inserter(vec_2)); // Möglichkeit 2 vec_2.insert(vec_2.end(), vec_1.begin(), vec_1.begin() + 50);
-
SUPER!! vielen vielen Dank!!
-
Wobei ich bei Möglichkeit 1 evtl.
vec_1.reserve(vec_1.size() + 50);vorschieben würde um mehrfaches schrittweises Vergrößern von vec_1 zu vermeiden.