C++ 陣列::end() 函式



C++ 的std::array::end()函式用於返回一個指向陣列最後一個元素之後的元素的迭代器。此迭代器不指向有效元素,而是指向陣列的末尾,使其可用於使用迴圈遍歷或迭代陣列。

語法

以下是 std::array::end() 函式的語法。

iterator end() noexcept;
const_iterator end() const noexcept;

引數

它不接受任何引數。

返回值

它返回一個指向陣列中最後一個元素之後的元素的迭代器。

異常

此函式從不丟擲異常。

時間複雜度

常數,即 O(1)

示例 1

在以下示例中,我們將考慮 end() 函式的基本用法。

#include <iostream>
#include <array>
using namespace std;
int main(void) {
   array < int, 5 > arr = {10,20,30,40,50};
   auto start = arr.begin();
   auto end = arr.end();
   while (start < end) {
      cout << * start << " ";
      ++start;
   }
   cout << endl;
   return 0;
}

輸出

以上程式碼的輸出如下:

10 20 30 40 50 

示例 2

考慮以下示例,我們將對字元陣列應用 end() 函式。

#include <iostream>
#include <array>
using namespace std;
int main() {
   array < char, 5 > MyArray {'P','R','A','S','U'};
   array < char, 5 > ::iterator it;
   for (it = MyArray.begin(); it != MyArray.end(); ++it)
      cout << * it << " ";
   return 0;
}

輸出

以下是以上程式碼的輸出:

P R A S U

示例 3

讓我們看看以下示例,我們將考慮字串陣列並應用 end() 函式。

#include <iostream>
#include <array>
using namespace std;
int main() {
   array < string, 2 > MyArray {"Tutorials","point"};
   array < string, 2 > ::iterator it;
   it = MyArray.end();
   it--;
   cout << * it << " ";
   it--;
   cout << * it << " ";
   return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

point Tutorials 
array.htm
廣告