vector容器如何初始化
时间: 2024-10-07 16:06:34 浏览: 36
Vector初始化的各种写法
在C++中,`vector` 容器是一种动态数组,允许在运行时改变大小。你可以通过多种方式来初始化一个`vector`:
1. **空初始化**:
```
std::vector<int> vec;
```
这样创建的是一个空的`vector`,初始容量为0。
2. **指定大小和默认值**:
```
std::vector<int> vec(10); // 创建一个能容纳10个整数的vector,默认值为0
std::vector<int> vec(10, 5); // 指定所有元素都为5
```
3. **直接赋值**:
```
std::vector<int> vec = {1, 2, 3, 4, 5}; // 从已有集合复制元素
```
或者从其他容器复制:
```
std::vector<int> vec(vec2.begin(), vec2.end()); // 从另一个vector复制元素
```
4. **构造函数接受范围**:
```
std::vector<int>(std::iota(std::begin(range), std::end(range), start)); // 从start递增生成n个数字
```
5. **使用Initializer List**:
```
std::vector<int> vec = {1, 2, 3, 4, 5};
```
或者更复杂的数据结构,如map或自定义对象。
6. **使用`resize()`方法**:
先创建一个空的向量,然后用`resize()`方法调整大小并填充元素:
```
std::vector<int> vec;
vec.resize(10, 0); // 扩容并将所有元素设置为0
```
记得`vector`的容量不是必需与实际元素数量相等的,它可以比元素数量大以支持未来的插入操作。
阅读全文