
- 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++ Deque::pop_back() Function
The C++ std::deque::pop_back() function ia used to remove the last element from the deque container. It reduce the size of the deque by one and invalidates references, pointers, or iterators to the popped element.
When we try to invoke pop_back() function on the empty deque, it results in the undefined behaviour.
Syntax
Following is the syntax for std::deque::pop_back() function.
void pop_back();
Parameters
It does not accept any parameters
Return value
This function does not return anything.
Exceptions
Calling this function on empty deque causes undefined behavior.
Time complexity
The time complexity of this function is constant i.e. O(1)
Example
In the following example, we are going to consider the basic usage of the pop_back() function.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; a.pop_back(); std::cout << "Deque after pop_back(): "; for (auto x = a.begin(); x != a.end(); ++x) { std::cout << *x << " "; } std::cout << std::endl; return 0; }
Output
Following is the output of the above code −
Deque after pop_back(): A B C
Example
Consider the following example, where we are going to handle the empty deque.
#include <iostream> #include <deque> int main() { std::deque<int> a; if (!a.empty()) { a.pop_back(); } else { std::cout << "Deque is empty." << std::endl; } return 0; }
Output
Output of the above code is as follows −
Deque is empty.
Example
Let's look at the following example, where we are going to remove the multiple elements from the deque.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; a.pop_back(); a.pop_back(); std::cout << "Deque after pop_back(): "; for (auto x = a.begin(); x != a.end(); ++x) { std::cout << *x << " "; } std::cout << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Deque after pop_back(): A B