SGI

generate_n

类别:算法 组件类型:函数

原型

template <class OutputIterator, class Size, class Generator>
OutputIterator generate_n(OutputIterator first, Size n, Generator gen);

描述

Generate_n将调用gen的结果(一个不带参数的函数对象)赋给范围[first, first+n)中的每个元素。[1] 返回值为first + n.

定义

定义在标准头文件algorithm中,以及非标准向后兼容头文件algo.h中。

类型要求

先决条件

复杂度

线性。准确地n次调用gen. [1]

示例

使用C标准库函数rand.
generate_n(ostream_iterator<int>(cout, "\n"), 100, rand);

打印100个随机数。

注释genn被调用[first, first+n)次(范围中的每个迭代器一次),而不是只在循环外部调用一次。这种区别很重要,因为生成器不必每次调用都返回相同的结果;它可以从文件读取,引用和修改局部状态,等等。

另请参阅

copy, fill, fill_n, generate, iota
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息