C++ 使用输出迭代器

示例

通过将输出迭代器传递给函数,可以返回相同类型的多个值。这对于一般功能(例如标准库的算法)尤其常见。

例:

template<typename Incrementable, typename OutputIterator>
void generate_sequence(Incrementable from, Incrementable to, OutputIterator output) {
    for (Incrementable k = from; k != to; ++k)
        *output++ = k;
}

用法示例:

std::vector<int> digits;
generate_sequence(0, 10, std::back_inserter(digits));
// 数字现在包含{0、1、2、3、4、5、6、7、8、9}