public member function
<list>

std::list::back

      reference back();const_reference back() const;
访问最后一个元素
返回对 list 容器中最后一个元素的引用。

与返回该元素之后迭代器的 member list::end 不同,此函数返回直接引用。

empty 容器上调用此函数会导致未定义行为。

参数



返回值

对 list 容器中最后一个元素的引用。

如果 list 对象是 const-qualified,则函数返回一个const_reference。否则,它返回一个引用.

成员类型引用const_reference是 list 元素的引用类型(参见 member types)。

示例

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

int main ()
{
  std::list<int> mylist;

  mylist.push_back(10);

  while (mylist.back() != 0)
  {
    mylist.push_back ( mylist.back() -1 );
  }

  std::cout << "mylist contains:";
  for (std::list<int>::iterator it=mylist.begin(); it!=mylist.end() ; ++it)
    std::cout << ' ' << *it;

  std::cout << '\n';

  return 0;
}

输出
mylist contains: 10 9 8 7 6 5 4 3 2 1 0


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

访问容器(const 和非 const 版本都不会修改容器)。
最后一个元素可能被调用者访问或修改。同时访问或修改其他元素是安全的。

异常安全

如果容器不为空,则该函数永远不会抛出异常(无异常保证)。
否则,将导致未定义行为

另见