iota
|
|
类别: 算法 |
组件类型: 函数 |
原型
template <class ForwardIterator, class T>
void iota(ForwardIterator first, ForwardIterator last, T value);
描述
Iota将连续递增的值赋给一个范围。也就是说,它将值赋给*first, value + 1赋给*(first + 1)等等。一般来说,范围内的每个迭代器i在范围[first, last)被赋值value + (i - first). [1]
定义
在标准头文件 numeric 和非标准向后兼容头文件 algo.h 中定义。此函数是 SGI 扩展;它不是 C++ 标准的一部分。类型要求
-
ForwardIterator是 前向迭代器 的模型。
-
ForwardIterator是可变的。
-
T是 可赋值 的。
- 如果x是类型T的对象,则x++已定义。
-
T可转换为ForwardIterator的值类型。
先决条件
复杂度
线性。正好last - first个赋值。示例
int main()
{
vector<int> V(10);
iota(V.begin(), V.end(), 7);
copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));
cout << endl;
}
备注
[1] 名称iota取自编程语言 APL。
另请参阅
fill, generate, partial_sum
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。
商标信息