deque::front and deque::back (STL Sample)

The sample code below illustrates how to use the deque::front and deque::back STL functions in Visual C++.

Required Header:
< deque>

Prototype:

   reference front();
   const_reference front() const;

   reference back();
   const_reference back() const;

Note: The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Description:
The member function front returns a reference to the first element of the controlled sequence, which must be non-empty. The member function back returns a reference to the last element of the controlled sequence, which must be non-empty.

Sample Code:

//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// deque.cpp :
//
// Functions:
//
//    front()
//
//    back()
//////////////////////////////////////////////////////////////////////

/* Compile options needed:-GX
*/
#include <iostream>
#include <deque>

using namespace std;


typedef deque<char >  CHARDEQUE;
void print_contents (CHARDEQUE  deque, char*);

void main()
{
    //create a  with  A, B, C and D
    CHARDEQUE  a;
    a.push_back('A');
    a.push_back('B');
    a.push_back('C');
    a.push_back('D');

    //print out the contents
    print_contents (a,"a");

    cout <<"The first element of a is " <<a.front() <<endl;

    cout <<"The last element of a is " <<a.back() <<endl;

    //now let us modify the first and last elements
    //using reference ,front() and back()

    CHARDEQUE::reference reffront=a.front();
    CHARDEQUE::reference refback=a.back();

    reffront='X';
    refback='Y';

     //print out the contents
     print_contents (a,"a");

    }

//function to print the contents of deque
void print_contents (CHARDEQUE  deque, char *name)
{
    CHARDEQUE::iterator pdeque;

    cout <<"The contents of "<< name <<" : ";

        for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
    {
        cout << *pdeque <<" " ;
    }
        cout<<endl;
}

 

Program Output is:

The contents of a : A B C D

The first element of a is A

The last element of a is D

The contents of a : X B C Y