• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    function
    <vector>

    std::vector::end

    iterator end();                                // (1) C++03
    iterator end() noexcept;                       // (1) C++11
    constexpr iterator end() noexcept;             // (1) C++20
    
    const_iterator end() const;                    // (2) C++03
    const_iterator end() const noexcept;           // (2) C++11
    constexpr const_iterator end() const noexcept; // (2) C++20
    

    概要

    末尾の次を指すイテレータを取得する。

    戻り値

    constな文脈ではiterator型で最後尾要素の次を指すイテレータを返し、

    constな文脈ではconst_iterator型で 最後尾要素の次を指すイテレータを返す。

    例外

    投げない

    計算量

    定数時間

    備考

    • この関数によって返されるイテレータは、*thisが保持するいずれの要素も参照しない。その指す先は、不正な範囲となるだろう

    #include <iostream>
    #include <vector>
    
    int main()
    {
      std::vector<int> v = {1, 2, 3};
      const std::vector<int>& cv = v;
    
      decltype(v)::iterator i = v.begin();
      decltype(v)::iterator last = v.end();
    
      decltype(v)::const_iterator ci = cv.begin();
      decltype(v)::const_iterator clast = cv.end();
    
      for (; i != last; ++i) {
        std::cout << *i << std::endl;
      }
    
      for (; ci != clast; ++ci) {
        std::cout << *ci << std::endl;
      }
    }
    

    出力

    1
    2
    3
    1
    2
    3
    

    参照