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