常用标准库之-std::iota
定义与头文件
std::iota
是 C++ 标准库 <algorithm>
头文件中提供的一个算法,用于将一个连续递增的值赋给指定范围内的元素。
函数原型
template< class ForwardIt, class T >
void iota( ForwardIt first, ForwardIt last, T value );
ForwardIt
:前向迭代器类型,用于指定元素范围。T
:用于初始化和递增的值的类型。first
:指向范围起始位置的迭代器。last
:指向范围结束位置的迭代器。value
:起始值,算法会从这个值开始,依次为范围内的元素赋值。
功能
该函数会将 value
赋值给 *first
,然后将 value
递增(通过 ++value
),并将递增后的值赋给下一个元素,以此类推,直到到达 last
位置。
示例代码
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec(5);
// std::iota 从值 10 开始,依次为 vec 中的元素赋值,
// 最终 vec 中的元素为 {10, 11, 12, 13, 14}
std::iota(vec.begin(), vec.end(), 10);
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}