Cpp-standard-library-cpp-array-cend

提供:Dev Guides
移動先:案内検索

C ++配列ライブラリ-cend()関数

説明

C ++関数* std
array :: cend()*は、配列の過去の要素を指す定数反復子を返します。 このメソッドによって返される反復子は、配列の内容を反復するために使用できますが、配列オブジェクト自体が定数でない場合でも、配列の内容を変更するために使用することはできません。

宣言

以下は、std
arrayヘッダーからのstd :: array :: cend()関数の宣言です。
const_iterator cend() const noexcept;

パラメーター

None

戻り値

配列の過去の要素を指す定数反復子を返します。 これはプレースホルダーの場所であり、実際のデータは保存されません。 したがって、これを逆参照すると、未定義の動作が発生します。

例外

このメンバー関数は例外をスローしません。

時間の複雑さ

定数、つまり O(1)

const反復子が指す値を変更してみましょう。

#include <iostream>
#include <array>

using namespace std;

int main(void) {

   array<int, 5> arr = {10, 20, 30, 40, 50};
   auto it = arr.cend();/*iterator pointing to past−the−end of array*/

  /*ERROR: attempt to modification will cause compilation error*/
   *it = 5;

   return 0;
}

上記のプログラムは、次のエラーメッセージを生成します。

cend.cpp: In function ‘int main()’:
cend.cpp:12:8: error: assignment of read-only location ‘ *it’
  * it = 5;
      ^