vector容器初始化
时间: 2023-07-23 19:09:09 浏览: 80
在C++中,可以使用多种方式来初始化一个vector器。以下是几种常见的方式:
1. 使用默认构造函数初始化空的vector:
```cpp
std::vector<int> vec; // 初始化一个空的int类型的vector
```
2. 使用初始化列表初始化vector:
```cpp
std::vector<int> vec = {1, 2, 3, 4}; // 初始化一个int类型的vector,包含元素1, 2, 3, 4
```
3. 使用重复值初始化vector:
```cpp
std::vector<int> vec(5, 100); // 初始化一个int类型的vector,包含5个值为100的元素
```
4. 使用迭代器范围初始化vector:
```cpp
std::vector<int> vec(anotherVec.begin(), anotherVec.end()); // 从另一个vector中复制元素来初始化新的vector
```
5. 使用数组初始化vector:
```cpp
int arr[] = {1, 2, 3, 4};
std::vector<int> vec(arr, arr + sizeof(arr) / sizeof(arr[0])); // 初始化一个int类型的vector,包含数组arr中的元素
```
这些只是一些常见的初始化方式,根据需要可以选择适合的方式来初始化vector容器。
相关问题
vector容器初始化 new
vector容器的初始化有以下几种方法:
1. 使用默认构造函数初始化一个空的vector:
```cpp
std::vector<int> vec;
```
2. 使用元素数量和初始值来初始化vector:
```cpp
std::vector<int> vec(5, 0); // 初始化一个包含5个值为0的元素的vector
```
3. 使用另一个vector来初始化新的vector:
```cpp
std::vector<int> originalVec{1, 2, 3, 4, 5};
std::vector<int> vec(originalVec); // 使用originalVec初始化vec
```
4. 使用迭代器范围来初始化vector:
```cpp
std::vector<int> originalVec{1, 2, 3, 4, 5};
std::vector<int> vec(originalVec.begin(), originalVec.end()); // 使用originalVec的迭代器范围初始化vec
```
5. 使用初始化列表来初始化vector(C++11及以后版本可用):
```cpp
std::vector<int> vec{1, 2, 3, 4, 5}; // 使用初始化列表初始化vec
```
这些是常见的vector容器的初始化方法,你可以根据自己的需求选择其中的一种来进行初始化。
二维vector容器初始化
二维vector容器的初始化可以采用以下两种方法:
1. 直接初始化
可以使用花括号 {} 直接初始化二维vector,其中花括号内部每一个元素也用花括号括起来。
例如,下面的代码创建了一个 2 行 3 列的二维vector,并将其初始化为:
1 2 3
4 5 6
```c++
vector<vector<int>> vec{{1, 2, 3}, {4, 5, 6}};
```
2. resize()方法初始化
可以使用resize()方法初始化二维vector,其中第一个参数指定二维vector的行数,第二个参数指定二维vector的列数,第三个参数指定二维vector的默认值(可选)。
例如,下面的代码创建了一个 2 行 3 列的二维vector,并将其初始化为默认值 0:
```c++
vector<vector<int>> vec;
vec.resize(2, vector<int>(3, 0));
```
注意:在使用resize()方法初始化二维vector时,需要确保二维vector的行数和列数都是非负数。