當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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-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 Library - at() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。