我想将字符串值列表输出到 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;