Skip to content

Latest commit

 

History

History
61 lines (46 loc) · 1.08 KB

op_increment.md

File metadata and controls

61 lines (46 loc) · 1.08 KB

operator++

  • iterator[meta header]
  • std[meta namespace]
  • istreambuf_iterator[meta class]
  • function[meta id-type]
istreambuf_iterator<CharT, Traits>& operator++();
proxy operator++(int);
  • proxy[italic]

概要

イテレータを進める

効果

前置インクリメント: sbuf_->sbumpc(); return *this;

後置インクリメント: sbuf->sbumpc()を行い、前の状態をproxyオブジェクトとして返す。 proxyクラスは実装定義。

sbuf_は、メンバ変数として保持しているstreambuf_typeオブジェクトへのポインタ

#include <iostream>
#include <iterator>
#include <sstream>

int main()
{
  std::stringstream ss;
  ss << "123";

  std::istreambuf_iterator<char> it(ss);

  ++it; // 前置インクリメント
  std::cout << *it << std::endl;
  std::cout << *(it++) << std::endl; // 後置インクリメント
  std::cout << *it << std::endl;
}
  • ++it[color ff0000]
  • it++[color ff0000]
  • std::stringstream[link /reference/sstream/basic_stringstream.md]

出力

2
2
3

参照