C++中的resize
时间: 2024-08-14 11:10:11 浏览: 73
C++OpenCV3源代码resize函数用法
在C++中,`resize()`是一个容器(如`std::vector`, `std::list`, 等)提供的成员函数,用于改变容器的大小。这个函数主要用于动态调整容器内元素的数量,可以增加容量或减少容量。
当你想扩大容器的大小时,`resize(size)`会将容器的大小设置为指定的新长度,如果新长度大于当前长度,那么会在原有内容后填充默认值(对于`vector`通常是零初始化,对于`list`则默认为空节点)。如果你想缩短容器,传递负数作为第一个参数,例如`resize(new_size)`,它会删除超出部分的元素。
需要注意的是,`resize()`不会移动已有元素,如果需要保持数据顺序并添加新的元素,应先复制一部分数据到新的位置,再进行扩容操作。
```cpp
std::vector<int> vec;
// ... 先对vec进行一些操作
// 扩容
vec.resize(vec.size() + k); // 如果k > 0
// 缩容
vec.resize(vec.size() - k); // 如果k < 0
```
阅读全文