c++vector resize大小
时间: 2024-06-20 11:02:13 浏览: 109
C++中的`std::vector`类提供了`resize()`函数来改变向量的大小。这个函数有两个重载版本:
1. `void resize(size_type count);`[^1]
这个版本直接指定新大小。如果新大小大于当前大小,向量会扩展并用默认构造函数创建新的元素;如果新大小小于当前大小,向量会删除多余的元素。
2. `void resize(size_type count, const value_type& value);` 或 `void resize(size_type n, value_type val = value_type());`[^2]
这个版本不仅指定新大小,还提供了一个默认值。当向量扩展时,新创建的元素会被这个默认值初始化。
下面是一些示例:
- 扩大向量:
```cpp
std::vector<int> vec;
vec.resize(5); // 如果vec为空,向量将包含5个未初始化的int
```
- 缩小向量并用0填充:
```cpp
vec.resize(3, 0); // vec现在有3个元素,其余元素被置为0
```
- 使用特定值填充:
```cpp
vec.resize(5, 123); // vec将包含5个值为123的int
```
相关问题
C++ vector resize
C++ vector的resize()函数可以改变vector的大小,它有两个重载形式:
1. `void resize(size_type n)`:将vector的大小改为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加默认构造的元素。
2. `void resize(size_type n, const value_type& val)`:将vector的大小改为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加val指定的元素。
例如,以下代码将一个vector的大小改为10,多余的元素将被删除:
```
vector<int> v = {1, 2, 3, 4, 5};
v.resize(10);
```
以下代码将一个vector的大小改为5,多余的元素将被默认构造:
```
vector<int> v(10, 1);
v.resize(5);
```
c++ vector resize
vector的resize函数用于改变向量的大小。它接受一个参数,表示向量的新大小。如果新大小比原来的大小小,那么多出来的元素将被删除。如果新大小比原来的大小大,那么多出来的元素将以默认值填充。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 改变向量的大小为10,并用0填充多出来的元素
vec.resize(10);
for (int i : vec) {
std::cout << i << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5 0 0 0 0 0
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![h](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)