The sample code below illustrates how to use the
deque::front and deque::back STL functions for the deque container class in
Visual C++.
Back to the top
Required header
< deque>
Back to the top
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.
Back to the top
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.
Back to the top
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
Back to the top
For the same topic about deque::front and deque::back,
visit the following MSDN Web site:
http://msdn.microsoft.com/library/en-us/vclang98/html/sample_dequeCCfront_and_dequeCCback_(STL_Sample).asp?frame=true (http://msdn.microsoft.com/library/en-us/vclang98/html/sample_dequeCCfront_and_dequeCCback_(STL_Sample).asp?frame=true)
Back to the top