Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 1.38 KB

op_constructor.md

File metadata and controls

46 lines (36 loc) · 1.38 KB

コンストラクタ

  • iterator[meta header]
  • std[meta namespace]
  • ostream_iterator[meta class]
  • function[meta id-type]
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,

参照