C++中vector的初始化用法
时间: 2023-10-01 14:06:02 浏览: 41
在C++中,vector的初始化有以下几种用法:
1. 初始化为空vector:
```
vector<int> v; // 创建一个空的整型vector
```
2. 初始化指定大小的vector,并且每个元素都是0:
```
vector<int> v(5); // 创建一个大小为5的整型vector,每个元素都是0
```
3. 初始化指定大小的vector,并且每个元素都是指定的值:
```
vector<int> v(5, 10); // 创建一个大小为5的整型vector,每个元素都是10
```
4. 使用另一个vector进行初始化:
```
vector<int> v1{1, 2, 3, 4};
vector<int> v2(v1); // 创建一个与v1相同元素的整型vector
```
5. 使用数组进行初始化:
```
int arr[] = {1, 2, 3, 4, 5};
vector<int> v(arr, arr + 5); // 创建一个包含数组元素的整型vector
```
6. 使用迭代器进行初始化:
```
vector<int> v1{1, 2, 3, 4};
vector<int> v2(v1.begin(), v1.end()); // 创建一个与v1相同元素的整型vector
```
相关问题
C++中vector初始化的方法
在C++中,vector是一个非常有用的容器,可以存储各种类型的数据。下面是一些常见的vector初始化方法:
1.使用数组初始化vector:
int x[] = {1, 2, 3};
std::vector<int> v(x, x + sizeof(x) / sizeof(x)); // or std::vector<int> v1(std::begin(x), std::end(x)); // or c++ 11, vs12 not work
std::vector<int> v({1, 2, 3})
2.使用默认值初始化vector:
std::vector<int> v(10); // 初始化一个大小为10的vector,每个元素都是0
3.使用指定值初始化vector:
std::vector<int> v(10, 5); // 初始化一个大小为10的vector,每个元素都是5
4.使用另一个vector初始化vector:
std::vector<int> list1 = {1, 2, 3};
std::vector<int> list2(list1); // 拷贝复制
std::vector<int> list3 = list1; // 拷贝复制
5.使用二维vector:
std::vector<std::vector<int>> v(5, std::vector<int>(6, 0)); // 相当于 int v={0}
C++中vector的初始化
在C++中,vector是一种动态数组类型的容器,可以用来存储一组元素。对于vector的初始化,有几种常见的方式。
首先是默认初始化,即创建一个空的vector容器。这是最常用的初始化方式。例如,可以使用以下代码来初始化一个空的vector容器:
vector<int> v;
其次是拷贝复制初始化。通过拷贝已有的vector容器,可以创建一个新的vector并初始化。可以使用以下两种方式进行拷贝复制初始化:
vector<int> v2(v1);
或者
vector<int> v2 = v1;
另外,还可以在初始化过程中指定初始元素。这种方式适用于已知元素个数的情况。可以使用以下代码进行拷贝初始化:
vector<int> v2(list);
或者
vector<int> v2 = list;
需要注意的是,在默认初始化和拷贝初始化时,如果容器是空的,size()函数将返回0,而capacity()函数也将返回0,表示还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。
综上所述,在C++中,可以通过默认初始化、拷贝复制和指定初始元素的方式对vector进行初始化。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C++:vector的初始化(5种)](https://blog.csdn.net/agkl_hanhan/article/details/123427748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C++中 std::vector 的6种初始化方法](https://blog.csdn.net/feikudai8460/article/details/119910264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]