INFO: STL Sample for deque::front and deque::back Functions

ID: Q156760


The information in this article applies to:
  • The Standard C++ Library, used with:
    • Microsoft Visual C++, 32-bit Editions, versions 4.2, 5.0, 6.0


SUMMARY

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


MORE INFORMATION

Required Header


   < deque> 

Prototype


   reference front();
   const_reference front() const;

   reference back();
   const_reference back() const; 
NOTE: The class/parameter names in the prototype may 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()
   // 
   // Written by Bobby Mattappally
   // of Microsoft Product Support Services,
   // Copyright (c) 1996 Microsoft Corporation. All rights reserved.
   ////////////////////////////////////////////////////////////////////// 

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

#if _MSC_VER > 1020   // if VC++ version is > 4.2
   using namespace std;  // std c++ libs implemented in std
   #endif

   typedef deque<char, allocator<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 


REFERENCES

Visual C++ Books On Line: Visual C++ Books:C/C++:Standard C++ Library Reference.

Additional query words: STL STLSample deque front back reference

Keywords : kbcode kbVC420 kbVC500 kbVC600 kbDSupport STLIss
Version : winnt:4.2,5.0,6.0
Platform : winnt
Issue type : kbinfo


Last Reviewed: November 24, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.