std::vector初始化初始和所有值
时间: 2023-07-20 07:34:59 浏览: 92
vector初始化
std::vector提供了多种初始化方式:
1. 默认构造函数:创建一个空的vector。
```c++
std::vector<int> vec1; // 创建一个空的vector对象
```
2. 指定大小和初始值的构造函数:创建指定大小和初始值的vector。
```c++
std::vector<int> vec2(5, 10); // 创建一个大小为5,初始值都是10的vector对象
```
3. 通过列表初始化创建vector。
```c++
std::vector<int> vec3 = {1, 2, 3, 4, 5}; // 创建一个有5个元素的vector对象,元素分别是1,2,3,4,5
```
4. 通过拷贝构造函数创建vector。
```c++
std::vector<int> vec4(vec3); // 创建一个与vec3相同的vector对象
```
对于已经创建的vector,可以使用`assign()`函数或`resize()`函数来改变vector元素的个数和值。
1. 使用`assign()`函数指定新的元素值。
```c++
std::vector<int> vec5 = {1, 2, 3, 4, 5}; // 创建有5个元素的vector对象
vec5.assign(3, 10); // 将vec5的元素个数改为3,所有元素的值都变成10
```
2. 使用`resize()`函数改变vector的元素个数,超出原来的范围的新元素使用默认值进行初始化(例如:0)。
```c++
std::vector<int> vec6 = {1, 2, 3, 4, 5}; // 创建有5个元素的vector对象
vec6.resize(8); // 将vec6的元素个数改为8,新增的3个元素使用默认值0进行初始化
```
在这里,`assign()`函数的第一个参数是新的元素个数,第二个参数是新的元素值;`resize()`函数的参数是新的元素个数。
阅读全文