public member function
<vector>

std::vector::back

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

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

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

参数



返回值

对 vector 中最后一个元素的引用。

如果vector对象被const限定,则函数返回一个const_reference。否则,它返回一个引用.

成员类型引用const_reference是 vector 元素(请参阅 成员类型)的引用类型。

示例

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

int main ()
{
  std::vector<int> myvector;

  myvector.push_back(10);

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

  std::cout << "myvector contains:";
  for (unsigned i=0; i<myvector.size() ; i++)
    std::cout << ' ' << myvector[i];
  std::cout << '\n';

  return 0;
}

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


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

访问容器(const 和非 const 版本都不会修改容器)。
返回的引用可用于访问或修改元素。并发访问或修改不同元素是安全的。

异常安全

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

另见