stringのvectorをスペースで区切って1つのstringにする


TLTR

ostringstreamとは

<<で渡された値を内部に持っているstringに追加していく。

ostream_iteratorとは

=で渡された値をコンストラクタで渡された出力ストリームに追加していく。
コンストラクタの2番めの引数はデリミタを指定する。=でストリームに追加したあとにこの値も追加する。デフォルトでは何も追加しない。
++演算では何もしない。これにより下記のcopyで役に立つ。

上のコードは以下のようにコンソールに出力される。

copyとは

第一引数と第二引数のイテレータで入力範囲を指定する。
第三引数で出力イテレータを指定する。

入力出力とも++で一個ずつずらしていって=でコピーする。

ostream_iteratorの++は何もしないで=で値をストリームに追加する。(最初のコード参照)