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 
Advertisements