C++ 标准库 - <vector>

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:在指定位置插入。