文字列値のリストをostreamに出力したいのですが。
私はこれのためにオーバーロード関数を宣言して実装することができます:
ostream& operator<< (ostream &out, const list<string> &in);
...そして次のように書く
cout << value;
...ただし、文字列のリストをダンプするには、少なくとも2つの方法があります。1行に1つの文字列、またはスペースで区切られた1行のすべての文字列(または他の区切り文字)です。
ストリーム制御によってダンプ機能の動作を変更することは可能ですか?
私は次のようなものを書きたいと思います:
list<string> lst;
...
cout << print_as_multiline() << lst;
... と:
list<string> lst;
...
cout << print_as_one_line() << set_separator (", ") << lst;