C++ std::vector::resize() 把元素个数改为指定值。扩大时对新增元素值初始化(或用给定值填充);缩小时销毁尾部多余元素。
原型
void resize(size_t count);
void resize(size_t count, const T& value);参数
count:新的元素个数。value:扩大时新增元素的初值;省略则值初始化(对int即为 0)。
返回值
无返回值。扩大可能重新分配。
示例
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2};
v.resize(4);
v.resize(3, 9);
for (int x : v) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}输出:
1 2 0
注意事项
第二次 resize(3, 9) 是缩小,不会用 9 去改已有元素,9 只用于扩大时的填充。向空 vector 做 transform 前常用 resize 预留输出槽位。
下一页介绍insert:在指定位置插入。