最終更新日時(UTC):
が更新

履歴 編集

function
<vector>

std::vector::at

reference at(size_type n);                       // (1) C++03
constexpr reference at(size_type n);             // (1) C++20

const_reference at(size_type n) const;           // (2) C++03
constexpr const_reference at(size_type n) const; // (2) C++20

概要

要素アクセス

戻り値

n番目の要素への参照を返す。

計算量

定数時間

例外

n >= size()の場合、out_of_range例外を送出する。

備考

at(n)*(begin()+ n) と同じ結果となるが、イテレータを使用したランダムアクセスやoperator[]と違い、コンテナの要素数に対して境界チェックを行う。

#include <iostream>
#include <vector>
#include <stdexcept>

int main()
{
  std::vector<int> v = {3, 1, 4};

  // 2番目の要素を参照する
  int& x = v.at(2);
  std::cout << x << std::endl;

  // 範囲外アクセスした場合、例外が投げられる
  try {
    int& y = v.at(3);
  }
  catch (std::out_of_range& ex) {
    std::cout << "out of range" << std::endl;
  }
}

出力

4
out of range

参照