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;
^