C++ 标准库 - <numeric>

C++ std::iota(C++11)从给定起始值起,向区间依次写入 value、value+1、…。目标区间必须已经有足够元素。

原型

void iota(ForwardIt first, ForwardIt last, T value);

参数

  • first、last:要填写的区间。
  • value:第一个元素的值。

返回值

无返回值。

示例

#include <iostream>
#include <numeric>
#include <vector>

int main() {
    std::vector<int> v(4);
    std::iota(v.begin(), v.end(), 1);
    for (int x : v) {
        std::cout << x << " ";
    }
    std::cout << "\n";
    return 0;
}

输出:

1 2 3 4 

注意事项

不会自动扩容。空 vector 须先 resize。

下一页介绍inner_product。