使用輸出迭代器

通過將輸出迭代器傳遞給函式,可以返回多個相同型別的值。這對於通用函式(例如標準庫的演算法)尤其常見。

例:

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));
// digits now contains {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}