C++ 列表库 - list() 函数


描述

C++ 函数std::array::at()返回对给定数组容器中位置 N 处存在的元素的引用。

宣言

以下是 std::array::at() 函数形式 std::array 标头的声明。

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)

例子

在下面的示例中,步骤 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)
列表.htm