最終更新日時(UTC):
が更新

履歴 編集

function
<iterator>

std::basic_const_iterator::operator++(C++23)

constexpr basic_const_iterator& operator++();   // (1)

constexpr void operator++(int);                 // (2)
constexpr basic_const_iterator operator++(int) requires forward_iterator<Iterator>; // (3)

概要

イテレータをインクリメントする。

  • (1) : 前置インクリメント
  • (2)(3) : 後置インクリメント

効果

ラップするイテレータをcurrent_というメンバに保持するとして

  • (1) : 以下と等価

    ++current_;
    return *this;
    

  • (2) : ++current_;

  • (3) : 以下と等価

    auto tmp = *this;
    ++*this;
    return tmp;
    

#include <iostream>
#include <iterator>

int main() {
  std::vector vec = {1, 2, 3, 4, 5};

  std::basic_const_iterator cit = vec.begin();

  ++cit;

  std::cout << *cit << '\n';

  cit++;

  std::cout << *cit << '\n';
}

出力

2
3

バージョン

言語

  • C++23

処理系

参照