如何在C++中合并两个std::vector?正确的连接方法
大家好!我最近开始学习C++,遇到了一个看似简单但找不到优雅解决方案的问题。我需要将两个std::vector合并成一个。例如,我有:
```cpp
std::vector vec1 = {1, 2, 3, 4, 5};
std::vector vec2 = {6, 7, 8, 9, 10};
```
我想得到第三个vector `result`,它包含`vec1`中的所有元素,然后是`vec2`中的所有元素。即:`{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`。
问题在于,我尝试了几种方法,但都觉得要么不正确,要么太繁琐。例如:
1. 我尝试使用`vec1.insert(vec1.end(), vec2.begin(), vec2.end())`,但这会修改原始vector `vec1`,而我想保持两个原始vector不变。
2. 我尝试写一个循环`for (int num : vec2) { vec1.push_back(num); }`,但这也会改变`vec1`。
3. 我尝试创建`result`并使用`std::copy`,但在迭代器上搞混了。
请告诉我,最