c++vector初始化
时间: 2023-06-28 09:13:00 浏览: 52
C++中的vector可以使用多种方式进行初始化。
1. 默认初始化
```
std::vector<int> v; // 默认初始化一个空vector
```
2. 指定大小
```
std::vector<int> v(5); // 初始化一个大小为5的vector,各元素默认为0
std::vector<int> v(5, 10); // 初始化一个大小为5的vector,各元素初始化为10
```
3. 列表初始化
```
std::vector<int> v = {1, 2, 3}; // 使用列表初始化
```
4. 复制初始化
```
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2(v1); // 复制初始化
```
5. 移动初始化
```
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2(std::move(v1)); // 移动初始化
```
6. 使用迭代器初始化
```
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2(v1.begin(), v1.end()); // 使用迭代器初始化
```
相关问题
C++ vector初始化
C++中的vector可以通过多种方式进行初始化。以下是几种常见的初始化方法:
1. 默认初始化:使用默认构造函数创建一个空的vector,其大小和容量都为0。
```cpp
std::vector<int> vec; // 默认初始化,vec为空,大小和容量都为0
```
2. 使用另一个vector进行初始化:可以使用另一个vector的元素来初始化新的vector。
```cpp
std::vector<int> list2(list); // 使用list的元素初始化list2
std::vector<int> list2 = list; // 使用list的元素初始化list2(等价于上一行)
```
3. 使用范围初始化:可以使用一个范围内的元素来初始化vector,范围可以是数组、另一个vector或者其他容器。
```cpp
int arr[] = {1, 2, 3, 4, 5};
std::vector<int> vec(arr, arr + sizeof(arr) / sizeof(int)); // 使用数组arr的元素初始化vec
std::vector<int> vec2(vec.begin(), vec.begin() + 3); // 使用vec的前3个元素初始化vec2
```
4. 使用重复值初始化:可以使用一个重复的值来初始化vector,指定vector的大小和初始值。
```cpp
std::vector<int> vec3(5, 10); // 创建一个大小为5,初始值都为10的vector
```
5. 使用初始化列表初始化:可以使用初始化列表来初始化vector。
```cpp
std::vector<int> ilist4{1, 2, 3, 4, 5}; // 使用初始化列表{1, 2, 3, 4, 5}初始化ilist4
```
c++ vector初始化
可以使用以下几种方法来初始化一个 C++ 的 vector:
1. 使用默认值初始化:
```cpp
std::vector<int> vec1; // 空的 vector
std::vector<int> vec2(5); // 包含 5 个默认值为 0 的元素的 vector
```
2. 使用初始化列表初始化:
```cpp
std::vector<int> vec3 = {1, 2, 3, 4, 5}; // 包含 5 个元素的 vector,值分别是 1, 2, 3, 4, 5
std::vector<std::string> vec4 = {"apple", "banana", "orange"}; // 包含 3 个元素的 vector,值分别是 "apple", "banana", "orange"
```
3. 使用范围初始化:
```cpp
std::vector<int> vec5(10, 5); // 包含 10 个值为 5 的元素的 vector
std::vector<char> vec6(3, 'x'); // 包含 3 个值为 'x' 的元素的 vector
```
4. 复制另一个 vector 初始化:
```cpp
std::vector<int> originalVec = {1, 2, 3};
std::vector<int> vec7(originalVec); // 复制 originalVec 中的元素到 vec7 中
std::vector<int> vec8 = originalVec; // 同样是复制 originalVec 中的元素到 vec8 中
```
这些是一些常见的 vector 初始化方法,你可以根据需求选择适合的方法来初始化 vector。