C++ vector构造
时间: 2024-07-29 08:00:31 浏览: 36
在C++中,`std::vector` 是一个动态数组,它的主要作用是在运行时自动调整大小以适应数据的增加或减少。`vector` 的构造方法提供了多种方式来创建和初始化容器:
1. **无参数构造**:不提供任何初始元素,创建一个空的`vector`。
```cpp
std::vector<int> vec;
```
2. **构造并初始化**:提供一组初始元素来填充容器。
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5}; // 创建包含5个元素的整数vector
```
3. **用特定大小初始化**:指定预设的容量,但不会自动填充元素。
```cpp
std::vector<int> vec(10); // 创建一个能容纳10个元素的vector,但没有填充
```
4. **范围初始化**:利用C++11以后的范围-based for循环或直接使用`= <range>`来初始化。
```cpp
std::vector<int> vec = {0, 1, 2, 3, 4, 5};
// 或
std::vector<int> vec(1, 10); // 创建一个包含连续整数的vector
```
5. **拷贝构造**:从现有`vector`复制数据创建新`vector`。
```cpp
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2(vec1); // vec2现在拥有vec1的相同元素
```
6. **初始填充**:使用`push_back`、`insert`等方法逐个添加元素或一次性添加一组元素。
记得在使用完毕后,根据需要调用`resize()`或`clear()`方法来改变`vector`的大小。如果在`vector`生命周期结束前需要删除元素,`erase()`方法很有用。