C++ vector::pop_back() 函数



C++ vector::pop_back() 函数用于从向量末尾移除最后一个元素,并将其大小缩减一个单位。pop_back() 函数的时间复杂度为常数。

向量中的最后一个元素不会像 erase() 函数那样被永久删除。当在空容器上调用时,成员函数永远不会抛出异常,并且在空容器上调用 pop_back() 函数会导致未定义的行为。

语法

以下是 C++ vector::pop_back() 函数的语法:-

void pop_back();

参数

它不接受任何参数。

示例 1

让我们考虑以下示例,我们将使用 pop_back() 函数。

#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;
}

输出

当我们编译并运行上述程序时,它将产生以下结果:-

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

示例 2

考虑另一种情况,我们将采用字符串类型并应用 pop_back() 函数。

#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;  
}

输出

运行上述程序后,它将产生以下结果:-

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

示例 3

在下面的示例中,我们将使向量的尺寸同时减小。

#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;
} 

输出

当我们执行上述程序时,它将产生以下结果:-

The size of the vector is 4
111 222 333 444 
111 222 333 
111 222 
111 
广告