Wie man einen Vektor an das Ende eines anderen in C++ anhängt (append vector to vector)
Hallo! Ich habe gerade angefangen, C++ und die STL zu lernen. Ich habe zwei Vektoren und möchte alle Elemente des zweiten Vektors an das Ende des ersten anhängen. Ich habe mehrere Methoden ausprobiert, aber keine funktioniert so, wie ich es erwarte.
Hier ist mein Code:
```cpp
#include
#include
int main() {
std::vector vec1 = {1, 2, 3};
std::vector vec2 = {4, 5, 6};
// Versuche, vec2 an vec1 anzuhängen
vec1.append(vec2); // Fehler: keine Methode append
// Versuche es mit insert
vec1.insert(vec2.begin(), vec2.end()); // Kompilierungsfehler
// Versuche es mit push_back in einer Schleife
for (int i = 0; i < vec2.size(); i++) {
vec1.push_back(vec2[i]); // Funktioniert, sieht aber schrecklich aus
}
return 0;
}
```
Die erste Variante kompiliert gar nicht, weil std::vector keine append-Methode hat. Die zweite Variante gibt einen Fehler, weil insert einen Iterator für die Einfügeposition erwartet, ich aber nur einen Bereich übergebe. Die dritte Variante funktioniert, aber ich finde sie ineffizient.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen