Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 1.36 KB

File metadata and controls

64 lines (47 loc) · 1.36 KB

operator[]

  • iterator[meta header]
  • std[meta namespace]
  • basic_const_iterator[meta class]
  • function[meta id-type]
  • cpp23[meta cpp]
constexpr reference operator[](difference_type n) const
  requires random_access_iterator<Iterator>;
  • random_access_iterator[link /reference/iterator/random_access_iterator.md]

概要

任意の位置にランダムアクセスする。

戻り値型referenceは、iter_const_reference_t<Iterator>のエイリアス。

効果

ラップしているイテレータをcurrent_メンバ変数に保持するとして、以下と等価

return static_cast<reference>(current_[n]);

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

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

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

  std::cout << cit[2] << '\n';
  std::cout << cit[4] << '\n';

  // 要素を変更できない
  // cit[0] = 0;
}

出力

3
5

バージョン

言語

  • C++23

処理系

参照