如何在C++中将一个vector追加到另一个vector的末尾(append vector to vector)
你好!我刚开始学习C++和STL。我有两个vectors,想把第二个vector的所有元素添加到第一个vector的末尾。我试了几种方法,但没有一个像预期那样工作。
这是我的代码:
```cpp
#include
#include
int main() {
std::vector vec1 = {1, 2, 3};
std::vector vec2 = {4, 5, 6};
// 尝试将vec2追加到vec1
vec1.append(vec2); // 错误:没有append方法
// 尝试通过insert
vec1.insert(vec2.begin(), vec2.end()); // 编译错误
// 尝试通过循环使用push_back
for (int i = 0; i < vec2.size(); i++) {
vec1.push_back(vec2[i]); // 可行,但看起来很糟糕
}
return 0;
}
```
第一个选项根本无法编译,因为std::vector没有append方法。第二个选项报错,因为insert需要一个插入位置的迭代器,而我只传了一个范围。第三个选项可行,但我觉得效率不高。