From cppreference.com
iteratorend(); (1)(until C++11)iteratorend()noexcept;(since C++11)
(constexpr since C++20)const_iteratorend()const; (2)(until C++11)const_iteratorend()constnoexcept;(since C++11)
(constexpr since C++20)const_iteratorcend()constnoexcept; (3)(since C++11)
(constexpr since C++20)Returns an iterator to the element following the last element of the vector.
This element acts as a placeholder; attempting to access it results in undefined behavior.
Return value
Iterator to the element following the last element.
Complexity
Constant.
Notes
libc++ backports cend() to C++98 mode.
Example
Run this code
#include<algorithm>#include<cassert>#include<iostream>#include<numeric>#include<string>#include<vector>intmain(){std::vector<int>nums{1,2,4,8,16};std::vector<std::string>fruits{"orange","apple","raspberry"};std::vector<char>empty;// Print vector nums.std::for_each(nums.cbegin(),nums.cend(),[](constintn){std::cout<<n<<' ';});std::cout<<'\n';// Sum all integers in the vector nums, printing only the result.std::cout<<"Sum of nums: "<<std::accumulate(nums.cbegin(),nums.cend(),0)<<'\n';// Print the first fruit in the vector fruits, checking if there is any.if(!fruits.empty())std::cout<<"First fruit: "<<*fruits.cbegin()<<'\n';if(empty.cbegin()==empty.cend())std::cout<<"vector ‘empty’ is indeed empty.\n";// Modify the first element in nums.*nums.begin()=32;assert(*nums.cbegin()==32);}Output:
1 2 4 8 16 Sum of nums: 31 First fruit: orange vector ‘empty’ is indeed empty. See also
(C++11)
returns an iterator to the beginning
(public member function)
(C++11)(C++14)
returns an iterator to the end of a container or array
(function template)