
- 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++ Queue::pop() Function
The C++ std::queue::pop() function is used to remove the front element of a queue. The queue will follows a First-In-First-Out(FIFO) principle, means the first element added is the first to be removed. This reduces the container size by one but does not return the removed element. When we try to invoke this function on the empty queue it results a undefined behaviour. The time complexity of this function is constant O(1).
This function is used in conjuction with front() function, to access the first element and then remove it by calling pop() function.
Syntax
Following is the syntax for std::queue::pop() function.
void pop();
Parameters
It does not accept any parameters.
Return value
This function does not return anything.
Example
Let's look at the following example, where we are going to demonstrate the basic usage of pop() function.
#include <iostream> #include <queue> int main() { std::queue<int> x; x.push(11); x.push(222); x.push(3333); std::cout << "Before Pop Front Element:" << x.front() << std::endl; x.pop(); std::cout << "After Pop Front Element:" << x.front() << std::endl; return 0; }
Output
Following is the output of the above code −
Before Pop Front Element:11 After Pop Front Element:222
Example
Consider the following example, where we are going to use the loop to pop and print each element until the queue is empty.
#include <iostream> #include <queue> int main() { std::queue<int> a; for (int x = 1; x <= 4; ++x) { a.push(x * 2); } while (!a.empty()) { std::cout << "Popping Element: " << a.front() << std::endl; a.pop(); } return 0; }
Output
Output of the above code is as follows −
Popping Element: 2 Popping Element: 4 Popping Element: 6 Popping Element: 8
Example
In the following example, we are going to retrive the size of the queue after using the pop() function.
#include <iostream> #include <queue> int main() { std::queue<int> a; a.push(1); a.push(2); a.pop(); std::cout << "Size of the queue after popping:" << a.size() << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Size of the queue after popping:1
Example
Following is the example, where we are going to process the queue until the condition is met.
#include <iostream> #include <queue> int main() { std::queue<int> a; for (int x = 1; x <= 5; ++x) { a.push(x); } while (!a.empty() && a.front() != 3) { std::cout << "Popping Element:" << a.front() << std::endl; a.pop(); } return 0; }
Output
Let us compile and run the above program, this will produce the following result −
Popping Element:1 Popping Element:2