最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<deque>

# std::deque::end

    iterator end();                    // (1) C++03
    iterator end() noexcept;           // (1) C++11
    constexpr iterator end() noexcept; // (1) C++26

    const_iterator end() const;                    // (2) C++03
    const_iterator end() const noexcept;           // (2) C++11
    constexpr const_iterator end() const noexcept; // (2) C++26

## 概要

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

## 戻り値

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

## 例外

投げない

## 計算量

定数時間

## 備考

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

## 例

    #include <iostream>
    #include <deque>

    int main()
    {
      std::deque<int> d = {1, 2, 3};
      const std::deque<int>& cd = d;

      decltype(d)::iterator i = d.begin();
      decltype(d)::iterator last = d.end();

      decltype(d)::const_iterator ci = cd.begin();
      decltype(d)::const_iterator clast = cd.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

## 関連項目

名前 | 説明
--- | ---
`begin` | 先頭要素を指すイテレータの取得する
`cbegin` | 先頭要素を指す読み取り専用イテレータを取得する
`cend` | 末尾要素の次を指す読み取り専用イテレータを取得する
`rbegin` | 末尾要素を指す逆イテレータを取得する
`rend` | 先頭要素の前を指す逆イテレータを取得する

## 参照

- P3372R3 constexpr containers and adaptors