• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    function
    <iterator>

    std::basic_const_iterator::base

    constexpr const Iterator& base() const & noexcept;  // (1)
    constexpr Iterator base() &&;  // (2)
    

    概要

    メンバ変数として保持している、元のイテレータを取得する。

    戻り値

    • (1) : 元のイテレータへのconst参照を返す。
    • (2) : 元のイテレータをムーブして返す。

    #include <iterator>
    #include <vector>
    #include <iostream>
    
    int main() {
      std::vector vec = {1, 2, 3, 4, 5};
    
      std::basic_const_iterator cit = vec.begin();
    
      std::cout << *cit << '\n';
      std::cout << *(cit.base()) << '\n';
    
      // 元のイテレータが可変イテレータならば要素を変更可能
      *(cit.base()) = 0;
      std::cout << *(cit.base()) << '\n';
    }
    

    出力

    1
    1
    0
    

    バージョン

    言語

    • C++23

    処理系

    参照