怎么将vector初始化
时间: 2024-12-31 21:41:06 浏览: 4
### C++ `vector` 的初始化方法
#### 使用默认构造函数
当声明一个 `vector` 而不提供任何参数时,默认构造函数会被调用,这会创建一个空的向量。
```cpp
std::vector<int> vec;
```
#### 带有指定大小的构造函数
可以通过给定容器中的元素数量来初始化 `vector`。如果还提供了第二个参数,则该值将被用来填充所有的位置[^2]。
```cpp
// 创建含有 n 个零的整数型 vector
std::vector<int> dp(n);
// 或者带有特定初始值 v
std::vector<int> vec(n, v);
```
#### 利用迭代器范围进行初始化
可以从一对输入迭代器之间的元素复制到新构建的对象中。此特性允许从其他容器或数组初始化 `vector`[^1]。
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main(){
int a[5] = {1,2,3,4,5};
// 使用两个指针作为边界定义子序列
vector<int> va(a+1, a+4);
cout << "va的值:" << endl;
for (const auto &i : va){
cout << i << " ";
}
}
```
#### 复制另一个相同类型的对象
可以直接通过拷贝现有的 `vector` 来创建新的实例。
```cpp
std::vector<int> originalVec = {7,8,9,10};
std::vector<int> copiedVec(originalVec);
```
#### 初始化列表语法
自 C++11 开始支持大括号包围的逗号分隔初值表用于直接初始化 `vector` 中的内容。
```cpp
std::vector<int> b = {7,8,9,10};
```
阅读全文