C++ Array 库 - cend() 函数
描述
C++ 函数 std::array::cend() 返回一个常量迭代器,它指向数组的最后一个元素。 此方法返回的迭代器可用于迭代数组内容,但不能用于修改数组内容,即使数组对象本身不是常量。
声明
以下是 std::array::cend() 函数形式 std::array 头的声明。
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; }
Above program produces following error message.
cend.cpp: In function ‘int main()’: cend.cpp:12:8: error: assignment of read-only location ‘* it’ *it = 5; ^