C++ Array 库 - at() 函数
描述
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)