std::iota 是 C++ 标准库中的一个算法,位于 <numeric> 头文件中。它的作用是用一个连续的范围内的递增序列填充容器。
函数签名如下:
template< class ForwardIt, class T >
void iota( ForwardIt first, ForwardIt last, T value );
其中:
first是要填充的范围的起始迭代器。last是要填充的范围的末尾迭代器(不包括末尾)。value是起始值,std::iota会从value开始生成递增的值。
以下是一个简单的示例,说明了 std::iota 的用法:
#include <iostream>
#include <numeric>
#include <vector>int main() {std::vector<int> numbers(5); // 创建一个包含5个元素的 vectorstd::iota(numbers.begin(), numbers.end(), 1); // 从1开始填充递增序列for (const auto& num : numbers) {std::cout << num << " ";}return 0;
}
在这个示例中,std::iota 将从1开始生成递增的整数,并填充到 numbers 容器中。输出将是 1 2 3 4 5。