The sample code below illustrates how to use the
deque::front and deque::back STL functions for the deque container class in
Visual C++.
Required header
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
Note In the first line of the sample code section, /GX is equivalent
to /EHsc in VC++ .NET and is set by default.
//////////////////////////////////////////////////////////////////////
//
// 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
For the same topic about deque::front and deque::back,
visit the following MSDN Web site:
http://msdn.microsoft.com/en-us/library/0w4bdc19.aspx
(http://msdn.microsoft.com/en-us/library/0w4bdc19.aspx)