vec.resize
时间: 2025-02-21 13:21:47 浏览: 32
### C++ 中 `std::vector` 的 `resize` 方法
#### 定义与功能
`std::vector::resize` 是标准模板库 (STL) 提供的一个成员函数,用于改变向量的大小。如果新大小大于当前大小,则会添加新的元素;如果小于当前大小,则移除多余的元素。
#### 函数签名
```cpp
void resize( size_type count );
void resize( size_type count, const value_type& value );
```
- 参数 `count`: 新的容器大小。
- 参数 `value`(可选): 当新增加元素时所使用的默认值。
当指定第二个参数时,在扩展过程中填充的新元素将被初始化为此值[^1]。
#### 使用示例
下面是一个简单的例子来展示如何使用 `resize()`:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
// 扩展到5个元素,默认值为0
vec.resize(5);
for(auto &v : vec){
std::cout << v << " ";
}
std::cout << "\n";
// 缩减至2个元素
vec.resize(2);
for(auto &v : vec){
std::cout << v << " ";
}
return 0;
}
```
此程序先创建了一个包含三个整数 `{1, 2, 3}` 的向量,并通过调用 `vec.resize(5)` 将其长度增加到了五个元素,其中两个额外的位置会被设置成零(因为这是未提供初始值的情况下的默认行为)。接着再次调整大小为两个元素,这会导致最后几个超出范围的项目被删除.
阅读全文
相关推荐



















