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 
廣告