C++ Array::cend() 函式



C++ 的 std::array::cend() 函式用於返回一個指向陣列最後一個元素之後元素的常量迭代器。當您需要一個只讀迭代器(無法修改其指向的元素)時,可以使用此函式。

語法

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

const_iterator cend() const noexcept;

引數

它不接受任何引數。

返回值

此函式返回一個指向陣列末尾之後元素的常量迭代器。

異常

此函式從不丟擲異常。

時間複雜度

常數,即 O(1)

示例 1

讓我們來看下面的例子,我們將對整數陣列使用 cend() 函式。

#include <iostream>
#include <array>
using namespace std;
int main() {
   array < int, 8 > MyArray {1,2,3,4,5,6,7,8};
   array < int, 8 > ::const_iterator cit;
   for (cit = MyArray.cbegin(); cit != MyArray.cend(); ++cit)
      cout << * cit << " ";
   return 0;
}

輸出

以上程式碼的輸出如下:

1 2 3 4 5 6 7 8

示例 2

考慮下面的例子,我們將修改值並觀察輸出。

#include <iostream>
#include <array>
using namespace std;
int main(void) {
   array < int, 5 > arr = {10,20,30,40,50};
   auto it = arr.cend();
   * it = 5;
   return 0;
}

輸出

以上程式碼的輸出如下:

main.cpp: In function 'int main()':
main.cpp:8:8: error: assignment of read-only location '* it'
    8 |    *it = 5;
      |    ~~~~^~~
array.htm
廣告