
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
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