Syntax:
#include <deque> iterator end(); const_iterator end() const;
The end() function returns an iterator just past the end of the deque.
Note that before you can access the last element of the deque using an iterator that you get from a call to end(), you'll have to decrement the iterator first.
For example, the following code uses begin() and end() to iterate through all of the members of a deque:
deque<int> dq1( 5, 789 ); deque<int>::iterator it; for( it = dq1.begin(); it != dq1.end(); ++it ) { cout << *it << endl; }
The iterator is initialized with a call to begin(). After the body of the loop has been executed, the iterator is incremented and tested to see if it is equal to the result of calling end(). Since end() returns an iterator pointing to an element just after the last element of the deque, the loop will only stop once all of the elements of the deque have been displayed.
end() runs in constant time.