std::vector<T,Allocator>::end, std::vector<T,Allocator>::cend - cppreference.com

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)

[edit]

(C++11)(C++14)

returns an iterator to the end of a container or array
(function template)

[edit]