C++ vector::end() Function
The C++ vector::end() function is used to get the iterator that points to the vector one-past-last element. The <vector> header file contains end() function. The time complexity of the end()function is constant.
The returned vector will throw a garbage value if we try to dereference it. To get the last element, we must subtract 1 from the iterator that was returned, i.e., move back one position. The iterator cannot be dereferenced if the vector is empty.
Syntax
Following is the syntax for C++ vector::end() Function −
iterator end() noexcept; const_iterator end() const noexcept;
Parameters
It doesn't accept any kind of parameter.
Example 1
Let's consider the following example, where we are going to use end() function.
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myvector = {11,22,33,44};
vector<int> empty_vec = {};
auto x = myvector.end();
cout << *(x - 1);
return 0;
}
Output
When we compile and run the above program, this will produce the following result −
44
Example 2
Considering the another scenario, where we are going to use push_back() function to insert the elements and applying the end() function.
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> myvector;
myvector.push_back(12);
myvector.push_back(23);
vector<int>::iterator x;
x = myvector.end()-1;
cout << "Result : " << *x << endl;
return 0;
}
Output
On running the above program, it will produce the following result −
Result : 23
Example 3
In the following example, we are going to use string values and applying the end() function.
#include <iostream>
#include <vector>
using namespace std;
int main (){
vector<string> tutorial{"JIM","JAM","JUM"};
vector<string>::iterator x;
x = tutorial.end();
x--;
cout<<*x<<" ";
x--;
cout<<*x<<" ";
x--;
cout<<*x<<" ";
return 0;
}
Output
When we execute the above program, it will produce the following result −
JUM JAM JIM