#include <iostream>
#include <vector>
#include <iterator>
using std::vector;
using std::cout;
using std::endl;
template <typename T>
inline void print(const T &data)
{
for (const auto &element : data) {
cout << element << ' ';
}
cout << endl;
}
int main()
{
std::ostream_iterator<int> oi(cout, "\n");
*oi = 55;
oi++;
*oi = 66;
oi++;
*oi = 77;
vector<int> vec = { 1, 2, 3, 4, 5 };
copy(vec.cbegin(), vec.cend(), std::ostream_iterator<int>(cout, ","));
cout << endl;
print(vec);
}
/*
run:
55
66
77
1,2,3,4,5,
1 2 3 4 5
*/