Я хотел бы вывести список значений строк для ostream.Вывод списка строк для ostream
я могу объявить и осуществить перегрузку функции для этого:
ostream& operator<< (ostream &out, const list<string> &in);
... а потом писать, как
cout << value;
... но есть по крайней мере два возможных способа дампа списка строки: одна строка в строке или все строки в одной строке, разделенные пробелами (или, возможно, другим разделителем).
Возможно ли изменение поведения демпинговых функций посредством управления потоком?
Я хотел бы написать что-то вроде:
list<string> lst;
...
cout << print_as_multiline() << lst;
... и:
list<string> lst;
...
cout << print_as_one_line() << set_separator (", ") << lst;
Почему не просто 'std :: copy'? 'std :: ostream_iterator' позволяет вам контролировать, что между ними. – chris
Как попытка лучшей удобочитаемости –
строка заканчивается на нуль, для print_as_one_line вам нужно удалить '\ n' – billz