C++官网参考链接:https://cplusplus.com/reference/list/list/end/
公有成员函数
<list>
std::list::end
C++98
iterator end();
const_iterator end() const;
C++11
iterator end() noexcept;
const_iterator end() const noexcept;
返回结束迭代器
返回一个指向list容器中结束后元素的迭代器。
结束后元素是list容器中最后一个元素后面的理论元素。它不指向任何元素,因此不应解引用。
由于标准库函数使用的范围不包括结束迭代器所指向的元素,因此此函数经常与list::begin组合使用,以指定包含容器中所有元素的范围。
如果容器为空(empty),此函数返回与list::begin相同的内容。
形参
没有形参。
返回值
指向序列末尾之后元素的迭代器。
如果list对象是const限定的,则函数返回const_iterator。否则,它返回一个iterator。
成员类型iterator和const_iterator是双向迭代器(bidirectional iterator)类型(分别指向元素和const元素)。
用例
// list::begin/end
#include <iostream>
#include <list>
int main ()
{
int myints[] = {75,23,65,42,13};
std::list<int> mylist (myints,myints+5);
std::cout << "mylist contains:";
for (std::list<int>::iterator it=mylist.begin() ; it != mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
输出:
复杂性
常数。
迭代器的有效性
没有变化。
数据竞争
容器被访问(const和非const版本都不会修改容器)。
调用不访问包含的元素,但返回的迭代器可用于访问或修改元素。同时访问或修改不同的元素是安全的。
异常安全
无抛出保证:该成员函数从不抛出异常。
返回的迭代器的复制构造或赋值也保证永远不会抛出。