std::deque<T,Allocator>::end, std::deque<T,Allocator>::cend - cppreference.com (original) (raw)

iterator end(); (1) (noexcept since C++11) (constexpr since C++26)
const_iterator end() const; (2) (noexcept since C++11) (constexpr since C++26)
const_iterator cend() const noexcept; (3) (since C++11) (constexpr since C++26)

Returns an iterator past the last element of *this.

This returned iterator only acts as a sentinel. It is not guaranteed to be dereferenceable.

range-begin-end.svg

[edit] Return value

Iterator past the last element.

[edit] Complexity

Constant.

Notes

libc++ backports cend() to C++98 mode.

[edit] Example

#include #include #include #include #include   int main() { std::deque nums{1, 2, 4, 8, 16}; std::deque<std::string> fruits{"orange", "apple", "raspberry"}; std::deque empty;   // Print deque. std::for_each(nums.begin(), nums.end(), [](const int n) { std::cout << n << ' '; }); std::cout << '\n';   // Sums all integers in the deque 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 deque fruits, checking if there is any. if (!fruits.empty()) std::cout << "First fruit: " << *fruits.begin() << '\n';   if (empty.begin() == empty.end()) std::cout << "deque 'empty' is indeed empty.\n"; }

Output:

1 2 4 8 16 Sum of nums: 31 First fruit: orange deque 'empty' is indeed empty.

[edit] See also

| | returns an iterator to the beginning (public member function) [edit] | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | returns an iterator to the end of a container or array (function template) [edit] |