fork download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <algorithm>
  4. #include <iterator>
  5. #include <vector>
  6.  
  7. class MyClass {
  8. public:
  9. int specific_detail;
  10. };
  11.  
  12. class MyClassDetail {
  13. const MyClass &m_cls;
  14. public:
  15. MyClassDetail(const MyClass &src) : m_cls(src) {}
  16. friend std::ostream& operator<<(std::ostream &out, const MyClassDetail &in) {
  17. return out << in.m_cls.specific_detail;
  18. }
  19. };
  20.  
  21. int main() {
  22. std::vector<MyClass> vec;
  23. for(int i = 1; i <= 5; ++i) {
  24. MyClass cls;
  25. cls.specific_detail = i;
  26. vec.push_back(cls);
  27. }
  28. std::ostringstream ss;
  29. std::copy(vec.begin(), vec.end()-1, std::ostream_iterator<MyClassDetail>(ss, ", "));
  30. ss << MyClassDetail(vec.back());
  31. std::cout << ss.str();
  32. return 0;
  33. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
1, 2, 3, 4, 5