最終更新日時:
が更新

履歴 編集

function
<iterator>

std::ostream_iterator::コンストラクタ

ostream_iterator(ostream_type& s);                                       // (1)
ostream_iterator(ostream_type& s, const CharT* delimiter);               // (2)
ostream_iterator(const ostream_iterator<T, CharT, Traits>& x) = default; // (3)

概要

  • (1) : 出力ストリームオブジェクトへの参照を受け取り、メンバ変数にそのオブジェクトへのポインタを保持する。区切り文字列はヌルとなる。
  • (2) : 出力ストリームオブジェクトへの参照を受け取り、メンバ変数にそのオブジェクトへのポインタを保持する。区切り文字列を受け取り、メンバ変数に保持する。

#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>

int main()
{
  std::vector<int> v = {1, 2, 3};

  // std::coutに出力。区切り文字列なし
  std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout));

  std::cout << std::endl;

  // std::coutに出力。区切り文字列は","
  std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ","));
}

出力

123
1,2,3,

参照