public member function
<vector>

std::vector::at

      reference at (size_type n);const_reference at (size_type n) const;
訪問元素
返回對vector中位置n的元素的引用。

該函式會自動檢查n是否在vector的有效元素範圍內,如果不在(即n大於或等於其size),則丟擲out_of_range異常。這與不進行邊界檢查的成員operator[]形成對比。

引數

n
容器中元素的索引。
如果該索引大於或等於vector size,則會丟擲out_of_range型別的異常。
請注意,第一個元素的位置是0(不是1).
成員型別size_type是一種無符號整型型別。

返回值

容器中指定位置的元素。

如果vector物件被const限定,則函式返回一個const_reference。否則,它返回一個引用.

成員型別引用const_reference是容器元素的引用型別(參見vector member types)。

示例

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

int main ()
{
  std::vector<int> myvector (10);   // 10 zero-initialized ints

  // assign some values:
  for (unsigned i=0; i<myvector.size(); i++)
    myvector.at(i)=i;

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

  return 0;
}

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


複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

訪問容器(const 和非 const 版本都不會修改容器)。
返回的引用可用於訪問或修改元素。併發訪問或修改不同元素是安全的。

異常安全

強保證:如果丟擲異常,容器沒有發生變化。
如果n越界,則丟擲out_of_range

另見