std::vector<T,Allocator>::end, std::vector<T,Allocator>::cend
From cppreference.com
iterator end(); | (1) | (noexcept since C++11) (constexpr since C++20) |
const_iterator end()const; | (2) | (noexcept since C++11) (constexpr since C++20) |
const_iterator cend()constnoexcept; | (3) | (since C++11) (constexpr since C++20) |
Returns an iterator past the last element of *this.
This returned iterator only acts as a sentinel. It is not guaranteed to be dereferenceable.
Contents |
[edit]Return value
Iterator past the last element.
[edit]Complexity
Constant.
Notes
libc++ backports cend()
to C++98 mode.
[edit]Example
Run this code
#include <algorithm>#include <iostream>#include <numeric>#include <string>#include <vector> int main(){std::vector<int> nums{1, 2, 4, 8, 16};std::vector<std::string> fruits{"orange", "apple", "raspberry"};std::vector<char> empty; // Print vector.std::for_each(nums.begin(), nums.end(), [](constint n){std::cout<< n <<' ';});std::cout<<'\n'; // Sums all integers in the vector nums (if any), printing only the result.std::cout<<"Sum of nums: "<<std::accumulate(nums.begin(), nums.end(), 0)<<'\n'; // Prints the first fruit in the vector fruits, checking if there is any.if(!fruits.empty())std::cout<<"First fruit: "<<*fruits.begin()<<'\n'; if(empty.begin()== empty.end())std::cout<<"vector 'empty' is indeed empty.\n";}
Output:
1 2 4 8 16 Sum of nums: 31 First fruit: orange vector 'empty' is indeed empty.
[edit]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) |