std::vector如何追加std::vector
时间: 2024-05-08 16:13:39 浏览: 16
可以使用`insert()`函数或者`resize()`函数来追加`std::vector`。其中,`insert()`函数可以在任意位置插入元素,而`resize()`函数只能在末尾插入元素。下面分别举例说明:
引用中的构造函数部分介绍了如何构造一个空的`vector`和一个包含指定数量的元素的`vector`。可以使用这些构造函数创建一个空的`vector`或者包含若干个指定值的`vector`。例如:
```c++
std::vector<std::vector<int>> vec1; // 创建一个空的vector
std::vector<std::vector<int>> vec2(3, std::vector<int>(4, 1)); // 创建一个由3个vector构成,每个vector包含4个值为1的int值
```
1.使用`insert()`函数追加`std::vector`[^1]
```c++
std::vector<std::vector<int>> vec{{1,2,3},{4,5,6}};
std::vector<int> new_vec{7,8,9};
vec.insert(vec.end(), new_vec.begin(), new_vec.end());
```
上述代码首先创建了一个包含两个vector的vector`vec`,然后创建一个新的vector`new_vec`,最后将`new_vec`追加到`vec`的末尾,实现了向`std::vector`中追加`std::vector`的操作。
2.使用`resize()`函数追加`std::vector`
```c++
std::vector<std::vector<int>> vec{{1,2,3},{4,5,6}};
std::vector<int> new_vec{7,8,9};
vec.resize(vec.size()+1, new_vec);
```
上述代码首先创建了一个包含两个vector的vector`vec`,然后创建一个新的vector`new_vec`,最后将`new_vec`追加到`vec`的末尾,实现了向`std::vector`中追加`std::vector`的操作。