public member function
<array>

std::array::at

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

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

引數

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

返回值

陣列中指定位置的元素。

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

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

示例

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

int main ()
{
  std::array<int,10> myarray;

  // assign some values:
  for (int i=0; i<10; i++) myarray.at(i) = i+1;

  // print content:
  std::cout << "myarray contains:";
  for (int i=0; i<10; i++)
    std::cout << ' ' << myarray.at(i);
  std::cout << '\n';

  return 0;
}

輸出
myarray contains: 1 2 3 4 5 6 7 8 9 10


複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

返回的引用可用於訪問或修改元素。併發訪問或修改不同元素是安全的。

異常安全

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

另見