- 1
- 2
- 3
- 4
vector<int> v = {1, 4, 6};
cout << "(";
copy(v.begin(), v.end(), ostream_iterator<int>(cout, ", "));
cout << ")";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+46
vector<int> v = {1, 4, 6};
cout << "(";
copy(v.begin(), v.end(), ostream_iterator<int>(cout, ", "));
cout << ")";
http://ideone.com/2j2jQG
Кстати в одном из черновиков стандарта проскакивало предложение добавить в ostream_iterator опциональный параметр: выводить ли разделитель после последнего элемента.
А как он узнает, что элемент последний? :)
Тогда уж выводить разделитель перед всеми элементами кроме первого. Это очень просто реализовать, а результат такой же.
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3581.html
В самом низу.
Ну string-builder в крестах это std::string_stream. А вот штатной склейки по разделителю вроде как нету. Ну по крайней мере мне не попадалась.
и split, и join
http://ideone.com/aY3boz