=====end=====
Syntax:
#include
iterator end();
const_iterator end() const;
The end() function returns an iterator just past the end of the vector.
Note that before you can access the last element of the vector using an
iterator that you get from a call to end(), you'll have to decrement the
iterator first. This is because end() doesn't point to the end of the vector;
it points just past the end of the vector.
For example, in the following code, the result of the first "cout" statement is ''undefined'', whereas the second statement will actually display the last element of
the vector:
vector v1;
v1.push_back( 0 );
v1.push_back( 1 );
v1.push_back( 2 );
v1.push_back( 3 );
int bad_val = *(v1.end());
cout << "bad_val is " << bad_val << endl;
int good_val = *(v1.end() - 1);
cout << "good_val is " << good_val << endl;
The next example shows how begin() and end() can be used to iterate through all
of the members of a vector.
vector v1( 3, 5 );
for( vector::const_iterator it = v1.begin();
it != v1.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 vector, the loop will only stop once
all of the elements of the vector have been displayed.
end() runs in [[/complexity|constant time]].
Related Topics: [[begin]], [[rbegin]], [[rend]]