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.
No answers yet.
Connectez-vous pour laisser une réponse