描述
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-qualified 方法返回常量引用,否則返回引用。
異常
這個成員函數拋出out_of_range如果 N 的值不是有效的數組索引,則異常。
時間複雜度
常數,即 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)
相關用法
- C++ Array swap()用法及代碼示例
- C++ Array max_size()用法及代碼示例
- C++ Array get()用法及代碼示例
- C++ Array back()用法及代碼示例
- C++ Array data()用法及代碼示例
- C++ Array empty()用法及代碼示例
- C++ Array tuple_size()用法及代碼示例
- C++ Array fill()用法及代碼示例
- C++ Array cbegin()用法及代碼示例
- C++ Array cend()用法及代碼示例
- C++ Array end()用法及代碼示例
- C++ Array rbegin()用法及代碼示例
- C++ Array begin()用法及代碼示例
- C++ Array crend()用法及代碼示例
- C++ Array size()用法及代碼示例
- C++ Array rend()用法及代碼示例
- C++ Array front()用法及代碼示例
- C++ Array crbegin()用法及代碼示例
- C++ Algorithm copy()用法及代碼示例
- C++ Algorithm remove_if()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ Array Library - at() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。