iota() 函数
定义在 头文件numeric 中
#include <numeric>
函数模板:
template <class ForwardIterator, class T>
void iota (ForwardIterator first, ForwardIterator last, T val);
前两个参数是定义序列的正向迭代器,保存序列初始以及结尾的位置 [first, last)
第三个参数是累加器的初始 T 值。
函数模板内的具体操作:
template <class ForwardIterator, class T>
void iota (ForwardIterator first, ForwardIterator last, T val)
{
while (first!=last) {
*first = val;
++first;
++val;
}
}
用法举例:
// iota example
#include <iostream> // std::cout
#include <numeric> // std::iota
int main () {
int numbers[10];
std::iota (numbers,numbers+10,100);
std::cout << "numbers:";
for (int& i:numbers) std::cout << ' ' << i;
std::cout << '\n';
return 0;
}
Output:
numbers: 100 101 102 103 104 105 106 107 108 109