Avatar ·

Concatenação de dois std::vector em C++: como unir vectors?

Olá a todos! Sou novo em C++ e me deparei com uma tarefa aparentemente simples: preciso unir dois std::vector em um. Digamos que eu tenha dois vectors de inteiros: ```cpp #include std::vector vec1 = {1, 2, 3}; std::vector vec2 = {4, 5, 6}; ``` Quero obter um terceiro vector `vec3` que contenha os elementos de ambos: `{1, 2, 3, 4, 5, 6}`. Em Python, eu simplesmente escreveria `vec3 = vec1 + vec2`, mas em C++ o operador `+` para vectors não está sobrecarregado. Tentei fazer assim: ```cpp std::vector vec3 = vec1 + vec2; // Erro de compilação ``` E obtive um erro. Depois pensei em usar um loop `for`, mas parece muito verboso e ineficiente. Na internet vi menções a `std::merge`, `std::copy` e `insert`, mas fiquei confuso sobre qual escolher. Preciso de uma solução simples e eficiente. De preferência, que os vectors originais permaneçam inalterados. Digam-me como unir dois vectors corretamente em C++? Qual método é considerado a melhor prática?