¿Cómo combinar dos std::vector en C++? Formas correctas de concatenación
¡Hola a todos! Recientemente empecé a aprender C++ y me encontré con una tarea que parece simple, pero no puedo encontrar una solución elegante. Necesito combinar dos std::vector en uno. Por ejemplo, tengo:
```cpp
std::vector vec1 = {1, 2, 3, 4, 5};
std::vector vec2 = {6, 7, 8, 9, 10};
```
Quiero obtener un tercer vector `result` que contenga todos los elementos de `vec1` y luego todos los de `vec2`. Es decir: `{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`.
El problema es que he probado varios enfoques, pero todos me parecen incorrectos o demasiado engorrosos. Por ejemplo:
1. Intenté usar `vec1.insert(vec1.end(), vec2.begin(), vec2.end())`, pero esto modifica el vector original `vec1`, y yo quiero mantener ambos vectores originales sin cambios.
2. Probé escribir un bucle `for (int num : vec2) { vec1.push_back(num); }`, pero esto también modifica `vec1`.
3. Intenté crear `result` y usar `std::copy`, pero me confundí con los iteradores.
Por favor, indíquenme cuál es la forma más