- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 数组库 - cend() 函数
描述
C++ 函数std::array::cend()返回一个指向数组过去末尾元素的常量迭代器。此方法返回的迭代器可用于迭代数组内容,但不能用于修改数组内容,即使数组对象本身不是常量。
宣言
以下是 std::array::cend() 函数形式 std::array 标头的声明。
const_iterator cend() const noexcept;
参数
没有任何
返回值
返回一个指向数组末尾元素的常量迭代器。这是一个占位符位置,不存储任何实际数据。因此取消引用这将导致未定义的行为。
例外情况
该成员函数从不抛出异常。
时间复杂度
常数即 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; ^
数组.htm