std::
deque::end
公众成员函数 <deque>
C++98: |
iterator end();
const_iterator end() const; |
C++11; |
iterator end() noexcept;
const_iterator end() const noexcept; |
返回迭代器到末尾元素的下一个元素
返回指向deque容器末尾元素的下一个元素的迭代器。
past-the-end元素是deque容器中紧跟在最后一个元素之后的理论元素。
它不指向任何元素,因此不能解除对它的引用。
由于标准库函数所使用的范围不包括其结束迭代器所指向的元素,
因此该函数通常与deque::begin组合使用,以指定包含容器中所有元素的范围。
如果容器为空,该函数返回与deque::begin相同的结果。
☲ 参数
-
none
☉ 返回值
指向序列结束后元素的迭代器。
如果deque对象是const限定的,则该函数返回const_iterator对象。否则,它将返回一个iterator。
成员类型iterator和const_iterator是随机访问迭代器类型(分别指向一个元素和一个const元素)。
☣ 示例
// 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版本都不会修改容器)。
该调用不访问所包含的元素,但返回的迭代器可用于访问或修改元素。
同时访问或修改不同的元素是安全的。
☂ 异常安全性
No-throw保证:这个成员函数从不抛出异常。
返回迭代器的复制构造或赋值也保证不会引发抛出。
🍄 另请参阅
deque::back |
访问最后一个元素(公众成员函数) |
deque::begin |
返回一个指向双端队列开头的迭代器 (公众成员函数) |
deque::rbegin |
返回指向双端队列最后一个元素的反向迭代器(公众成员函数) |
deque::rend |
返回指向双端队列开始元素之前的理论元素的反向迭代器(公众成员函数) |