C++初始化vector的大小该如何操作
时间: 2024-12-15 08:14:50 浏览: 6
C++ vector操作实现
5星 · 资源好评率100%
在C++中,你可以通过几种方式来初始化`std::vector`,包括指定初始容量、不指定容量直接构造、或者使用`emplace_back`等推后初始化的方式。以下是常见的初始化方法:
1. **指定容量**:
```cpp
std::vector<int> vec(10); // 创建一个可以存放10个元素的vector,开始时所有元素值默认为初值(对于int通常是0)
```
2. **不指定容量**:
```cpp
std::vector<int> vec; // 默认创建一个空vector,后续可通过push_back等方式添加元素
```
3. **使用`reserve`预分配空间**:
如果你知道将来需要存储多少元素,可以用`reserve`方法预留空间:
```cpp
std::vector<int> vec;
vec.reserve(50); // 预先为vec分配能存放50个元素的空间
```
4. **使用`emplace_back`或构造函数列表**:
这种方式可以在向vector添加元素的同时进行初始化,如:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5}; // 直接构造包含5个元素的vector
```
或者使用`emplace_back`,它会在内部自动调整大小并立即插入元素:
```cpp
vec.emplace_back(6); // 后追加一个元素,vector会自动扩大容量
```
阅读全文