Потокові ітератори дозволяють інтерпретувати файли і пристрої вводу/виводу (потоки cin і cout), як ітератори. Отже, можна використовувати файли і пристрої вводу/виводу в якості параметрів алгоритмів.
Основне призначення вхідних і вихідних ітераторів – саме підтримка класів потокових ітераторів. З їхньою допомогою можна здійснювати застосування відповідних класів напряму до потоків вводу-виводу.
Існують два потокові ітератори: ostream_iterator та istream_iterator. Ми обмежимося розглядом першого з них.