public member function
<deque>

std::deque::end

      iterator end();const_iterator end() const;
      iterator end() noexcept;const_iterator end() const noexcept;
返回指向末尾的迭代器
返回一个迭代器,指向 deque 容器中“尾后”的元素。

“尾后”元素是 deque 容器中最后一个元素之后理论上的元素。它不指向任何元素,因此不应被解引用。

由于标准库函数使用的范围不包括其结束迭代器所指向的元素,因此此函数通常与 deque::begin 结合使用,以指定包含容器中所有元素的范围。

如果容器 为空,则此函数返回的值与 deque::begin 相同。

参数



返回值

指向序列末尾之后元素的迭代器。

如果 deque 对象是 const 限定的,则函数返回一个const_iterator。否则,它返回一个iterator.

成员类型iteratorconst_iterator随机访问迭代器 类型(分别指向一个元素和指向一个 const 元素)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// deque::end
#include <iostream>
#include <deque>

int main ()
{
  std::deque<int> mydeque;

  for (int i=1; i<=5; i++) mydeque.insert(mydeque.end(),i);

  std::cout << "mydeque contains:";

  std::deque<int>::iterator it = mydeque.begin();

  while (it != mydeque.end() )
    std::cout << ' ' << *it++;

  std::cout << '\n';

  return 0;
}

输出
mydeque contains: 1 2 3 4 5


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

访问容器(const 和非 const 版本都不会修改容器)。
调用该函数不访问任何包含的元素,但返回的迭代器可用于访问或修改元素。并发访问或修改不同元素是安全的。

异常安全

无异常保证:此成员函数从不抛出异常。
还可以保证返回的迭代器的复制构造或赋值永远不会引发异常。

另见