Вывод через ostream_iterator в C++
Позицию вывода изображает ostream_iterator и ведет себя как позиция,
куда присваивание отправляет значение в поток.
Тип берут из iterator. Так можно обойти
контейнер алгоритмом копирования и сразу
получить текст в cout с разделителем
между числами.
Запишем вектор и выведем его через итератор вывода с пробелом между элементами:
std::vector<int> v = {4, 5, 6};
std::ostream_iterator<int> out(std::cout, " ");
std::copy(v.begin(), v.end(), out);
std::cout << "\n";
В строке появляются 4, 5 и 6
с пробелами. Разделитель задают при создании
итератора; перевод строки удобно дописать
отдельной командой.
Напечатайте три целых из вектора в одну
строку через запятую и пробел, используя
позицию вывода в поток, а не цикл с
cout на каждый элемент.