
- 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::front() Function
The C++ std::queue::front() function is used with the queue container to access the first element. It returns a reference to the element at the front of the queue without removing it. It is useful for inspecting the next element to be processed in a queue. This function is commonly used in conjunction with push(), pop() and empty() for managing queue operations. The time complexity of this function is constant O(1).
When we try to invoke the front() function on the empty queue it results in the undefined behaviour.
Syntax
Following is the syntax for std::queue::front() function.
reference& front(); const_reference& front() const;
Parameters
This does not accept any parameters.
Return value
This function returns reference to the first element of the queue.
Example
In the following example we are going to demonstrate the usage of front() function.
#include <iostream> #include <queue> int main() { std::queue<int> x; x.push(1); x.push(22); std::cout << "Front element: " << x.front() << std::endl; return 0; }
Output
Let us compile and run the above program, this will produce the following result −
Front element: 1
Example
Consider the following example, where we are going to use the front() function within a loop and printing the front element in each iteration and then pops it.
#include <iostream> #include <queue> int main() { std::queue<int> x; x.push(11); x.push(2); while (!x.empty()) { std::cout << "Front element: " << x.front() << std::endl; x.pop(); } return 0; }
Output
Following is the output of the above code −
Front element: 11 Front element: 2
Example
Let's look at the following example, where we are going to get the front element from empty queue.
#include <iostream> #include <queue> int main() { std::queue<int> x; if (!x.empty()) { std::cout << "Front element: " << x.front() << std::endl; } else { std::cout << "queue is empty." << std::endl; } return 0; }
Output
If we run the above code it will generate the following output −
queue is empty.
Example
Following is the example, where we are going to modify the front element directly using the front() function.
#include <iostream> #include <queue> int main() { std::queue<int> x; x.push(1); x.push(2); x.front() = 11; std::cout << "Front element: " << x.front() << std::endl; return 0; }
Output
Output of the above code is as follows −
Front element: 11