Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

C++ Deque::front() Function



The C++ std::deque::front() function is used to access the first element of the deque. It returns a reference to the front element in the deque without removing it. This allows direct access to modify the element.

When we try to invoke front() function on the empty deque, it results in undefined behaviour.

Syntax

Following is the syntax for std::deque::front() function.

reference front();
const_reference front() const;

Parameters

It does not accept any parameter.

Return value

It returns a reference to the first element in the deque container.

Exceptions

This function throws undefined behaviour if invoked on the empty deque.

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 front() function.

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    char x = a.front();
    std::cout << "Front Element Is: " << x << std::endl;
    return 0;
}

Output

Output of the above code is as follows −

Front Element Is: A

Example

Consider the following example, where we are going to modify the front element.

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C'};
    a.front() = 'Y';
    std::cout << "After Modification Front Element Is: " << a.front() << std::endl;
    return 0;
}

Output

Following is the output of the above code −

After Modification Front Element Is: Y

Example

In the following example, we are going to check whether the deque is empty before accessing the first elemnt with front().

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    if (!a.empty()) {
        std::cout << "First Element Is: " << a.front() << std::endl;
    } else {
        std::cout << "The deque is empty." << std::endl;
    }
    return 0;
}

Output

If we run the above code it will generate the following output −

The deque is empty.
deque.htm
Advertisements