类别: 算法 | 组件类型: 函数 |
template <class ForwardIterator, class T> void fill(ForwardIterator first, ForwardIterator last, const T& value);
vector<double> V(4); fill(V.begin(), V.end(), 137); assert(V[0] == 137 && V[1] == 137 && V[2] == 137 && V[3] == 137);
[1] 的原因是填充要求其参数是可变的 正向迭代器,而不是仅仅是 输出迭代器,是因为它使用了一个迭代器范围[first, last)。没有合理的方式来描述 输出迭代器 的范围,因为不可能比较两个 输出迭代器 的相等性。该fill_n算法确实有一个允许使用 输出迭代器 的接口。