- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 数组库 - 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)
数组.htm