c++vector中resize
时间: 2023-10-30 21:05:31 浏览: 91
C++中的vector容器对象学习笔记
在C++的标准库中,可以使用`std::vector::resize`函数来改变`vector`的大小。`resize`函数接受一个整数参数,用于指定`vector`的新大小。
如果新大小小于当前的大小,那么`vector`将会缩小为指定的大小,并丢弃多余的元素。如果新大小大于当前的大小,那么`vector`将会增大到指定的大小,并在末尾插入新的元素。如果新大小等于当前的大小,则不会做任何改变。
下面是一个使用`resize`函数改变`vector`大小的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
numbers.resize(3); // 缩小 vector 的大小为 3
std::cout << "缩小后的 vector 大小: " << numbers.size() << std::endl;
std::cout << "缩小后的 vector 内容: ";
for (const auto& number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
numbers.resize(6); // 增大 vector 的大小为 6
std::cout << "增大后的 vector 大小: " << numbers.size() << std::endl;
std::cout << "增大后的 vector 内容: ";
for (const auto& number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
return 0;
}
```
运行上面的代码,输出将会是:
```
缩小后的 vector 大小: 3
缩小后的 vector 内容: 1 2 3
增大后的 vector 大小: 6
增大后的 vector 内容: 1 2 3 0 0 0
```
在缩小大小时,`resize`函数会删除多余的元素。在增大大小时,默认使用元素类型的默认构造函数创建新的元素,并将其插入到末尾。如果需要指定特定的默认值,可以提供第二个参数给`resize`函数。例如:`numbers.resize(6, 10);` 将会将新插入的元素设置为10。
希望这能解决你的问题!如有其他疑问,请随时提问。
阅读全文