resize vector
时间: 2025-03-08 07:03:31 浏览: 28
### 如何在C++中调整`std::vector`的大小
#### 使用`resize()`函数
为了改变`std::vector`容器中的元素数量,可以调用成员函数`resize(n)`。此操作会将向量的尺寸设置为n;如果新容量大于当前容量,则新增位置会被默认初始化或者可以通过传递第二个参数指定初始值。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
// 扩展到5个元素,默认填充0
vec.resize(5);
for (const auto& elem : vec) {
std::cout << elem << " ";
}
}
```
当缩小向量时,超出范围的部分将会被移除[^1]。
#### 动态增加单个元素
除了直接设定具体长度外,还可以利用`push_back()`方法逐次添加单一项目至末端,从而间接实现扩容效果。需要注意的是,在执行该动作之前应该先确认是否有足够的预留空间以避免不必要的内存分配开销[^2]。
#### 清空并重置大小
另外一种情况是想要完全清空现有数据结构再赋予全新的规模,这时可采用组合策略——先清除所有条目(`clear`)随后依据需求重新定义其界限(`reserve`/`resize`):
```cpp
vec.clear();
vec.reserve(new_capacity); // 预留内部存储而不影响逻辑长度
// 或者
vec.resize(desired_size, value_to_fill_with);
```
对于上述任何情形下的修改行为都应当考虑到潜在的风险因素比如越界访问等问题的发生可能性,并采取适当措施加以防范[^3]。
阅读全文
相关推荐
















