ИТЕРАТОРЫ ПОТОКОВ
Чтобы шаблоны алгоритмов могли работать непосредственно с потоками ввода-вывода, предусмотрены соответствующие шаблонные классы, подобные итераторам. Например,
partial_sum_copy(istream_iterator<double>(cin), istream_iterator<double>(), ostream_iterator<double>(cout, "\n"));читает файл, содержащий числа с плавающей запятой, из cin и печатает частичные суммы в cout.