Cpp-standard-library-cpp-array-at

提供:Dev Guides
移動先:案内検索

C ++配列ライブラリ-at()関数

説明

C ++関数* std
array :: at()*は、指定された配列コンテナーの位置Nにある要素への参照を返します。

宣言

以下は、std
arrayヘッダーからのstd :: array :: at()関数の宣言です。
reference at(size_type n);
cont_referece at(size_t n) const;

パラメーター

*N* -配列内の要素のインデックス。

戻り値

Nが有効なインデックスの場合、指定された配列のインデックスNに存在する要素を返します。そうでない場合は out_of_range 例外をスローします。

配列オブジェクトがconstで修飾されている場合、メソッドはconst参照を返し、そうでない場合は参照を返します。

例外

Nの値が有効な配列インデックスでない場合、このメンバー関数は out_of_range 例外をスローします。

時間の複雑さ

定数、つまり O(1)

以下の例では、step-1は例外なく配列の内容を出力します。 手順2は、try-catchブロックを使用した例外処理を示しています。

#include <iostream>
#include <array>
#include <stdexcept>

using namespace std;

int main(void) {
   array<int, 5> arr = {10, 20, 30, 40, 50};
   size_t i;

  /*print array contents*/
   for (i = 0; i < 5; ++i)
      cout << arr.at(i) << " ";
   cout << endl;

  /*generate out_of_range exception.*/
   try {
      arr.at(10);
   } catch(out_of_range e) {
      cout << "out_of_range expcepiton caught for " << e.what() << endl;
   }

   return 0;
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

10 20 30 40 50
out_of_range expcepiton caught for array::at: __n (which is 10) >= _Nm (which is 5)