std::vector初始化的方法
时间: 2024-09-06 17:05:30 浏览: 60
在C++中,`std::vector`有多种初始化方法:
1. **空初始化**:
```cpp
std::vector<int> vec;
```
2. **指定大小的初始容量**:
```cpp
std::vector<int> vec(10); // 创建一个能容纳10个元素的初始为空的向量
```
3. **直接初始化**:
```cpp
std::vector<int> vec({1, 2, 3}); // 使用列表初始化
```
4. **范围初始化**(C++17开始):
```cpp
std::vector<int> vec(0, 5); // 创建一个从0到5的整数序列
```
5. **拷贝构造函数或赋值操作符**:
```cpp
std::vector<int> vec1 = {4, 5, 6}; // 从已有向量复制元素
std::vector<int> vec2(vec1); // 拷贝初始化
```
6. **使用迭代器**:
```cpp
std::vector<int> vec(std::begin(arr), std::end(arr)); // 从数组arr中填充元素
```
7. **预分配空间**(推荐用于性能优化):
```cpp
std::vector<int> vec(preallocated_size, value); // 预先设置一定数量的元素值
```
每种方法都有其适用场景,可以根据实际需求选择合适的初始化方式。
阅读全文