vector容器添加元素
时间: 2024-09-11 21:00:47 浏览: 44
详解C++编程中的vector类容器用法
在C++中,`vector` 是一种动态数组,可以很容易地添加和删除元素。以下是如何使用 `vector` 容器添加元素的一些基本方法:
1. 使用 `push_back` 方法在 `vector` 的末尾添加一个元素:
```cpp
#include <vector>
int main() {
std::vector<int> vec;
// 添加单个元素到vector末尾
vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
return 0;
}
```
2. 使用 `insert` 方法在 `vector` 的指定位置插入一个元素或一系列元素:
```cpp
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
// 在vector的指定位置插入一个元素
vec.insert(vec.begin() + 1, 10);
// 在vector的末尾插入一个元素序列
std::vector<int> moreElements = {4, 5, 6};
vec.insert(vec.end(), moreElements.begin(), moreElements.end());
return 0;
}
```
3. 使用 `emplace` 方法在 `vector` 的指定位置原地构造一个元素,这通常比 `insert` 更高效,因为它避免了额外的复制或移动操作:
```cpp
#include <vector>
struct MyStruct {
MyStruct(int a, int b) : x(a), y(b) {}
int x, y;
};
int main() {
std::vector<MyStruct> vec;
// 在vector的指定位置原地构造一个元素
vec.emplace(vec.begin(), 10, 20);
return 0;
}
```
`vector` 容器的 `push_back` 方法是最常用和最直接的方式,它允许你向容器的末尾添加一个元素。`insert` 方法提供了更多的灵活性,允许你在任何位置添加元素,包括在开始位置、中间和末尾。`emplace` 方法则是 `insert` 的一个优化版本,它可以直接在容器中构造元素,避免了不必要的复制或移动操作,这在涉及到自定义类型的构造时尤其有用。
阅读全文