C++ vector::pop_back() Function



The C++ vector::pop_back() function is used to remove the final element out of the vector from the back and shrink it size by one unit. The time complexity of the pop_back() function is constant.

The final element in the vector is not permanently deleted like the erase() function. When called on an empty container, the member function never throws an exception and calling the pop_back() function on the empty container results in the undefined behavior.

Syntax

Following is the syntax for C++ vector::pop_back() Function −

void pop_back();

Parameters

It doesn't accept any kind of parameters.

Example 1

Let's consider the following example, where we are going to use pop_back() function.

#include <iostream>
#include <vector>
using namespace std;

int main() {
   vector<int> myvector = {11,22,33,44,555};
   cout << "Actual Vector: ";
   for(int x: myvector)
      cout << x << " ";
   myvector.pop_back();
   myvector.pop_back();
   cout << "\nAfter pop_back(): ";
   for(int x: myvector)
      cout << x << " ";
   return 0;
}

Output

When we compile and run the above program, this will produce the following result −

Actual Vector: 11 22 33 44 555 
After pop_back(): 11 22 33 

Example 2

Considering the another scenario, where we are going to take string type and applying the pop_back() function.

#include<iostream>
#include<vector>
using namespace std;

int main(){  
   vector<string> myvector{"RS7","Q6","GLA Maybach","RX100"};  
   cout<<"Original :";  
   for(int i=0;i<myvector.size();i++)  
      cout<<myvector[i]<<" ";  
   cout<<'\n';  
   cout<<"After pop_back():";  
   myvector.pop_back();  
   for(int i=0;i<myvector.size();i++)  
      cout<<myvector[i]<<" ";  
   return 0;  
}

Output

On running the above program, it will produce the following result −

Original :RS7 Q6 GLA Maybach RX100 
After pop_back():RS7 Q6 GLA Maybach

Example 3

In the following example, we are going to make the size of the vector decrease simultaneously.

#include <iostream>
#include <vector>
using namespace std;

void print_vector(vector<int> tutorial){
   for(auto it: tutorial)
   cout << it << " ";
   cout << "\n";
}
int main(){
   vector<int> myvector;
   myvector.push_back(111);
   myvector.push_back(222);
   myvector.push_back(333);
   myvector.push_back(444);
   int n = myvector.size();
   cout << "The size of the vector is " << n << "\n";
   print_vector(myvector);
   for(int i=0;i<n;i++){
      myvector.pop_back();
      print_vector(myvector);
   }
   return 0;
} 

Output

When we execute the above program, it will produce the following result −

The size of the vector is 4
111 222 333 444 
111 222 333 
111 222 
111 
Advertisements