How to use the list::back, list::front, list::pop_back, list::pop_front, list::push_back, and list::push_front STL functions in Visual C++ (158086)



The information in this article applies to:

  • The Standard C++ Library, when used with:
    • Microsoft Visual C++, 32-bit Enterprise Edition 4.2
    • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
    • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
    • Microsoft Visual C++, 32-bit Professional Edition 4.2
    • Microsoft Visual C++, 32-bit Professional Edition 5.0
    • Microsoft Visual C++, 32-bit Professional Edition 6.0
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ 2005 Express Edition
    • Microsoft Visual C++ .NET (2003)
    • Microsoft Visual C++ .NET (2002)

This article was previously published under Q158086

SUMMARY

The sample code below illustrates how to use the list::back, list::front, list::pop_back, list::pop_front, list::push_back, and list::push_front STL functions in Visual C++.

MORE INFORMATION

Required header

   <list>
				

Prototype

   reference back();
   const_reference back() const;
   reference front();
   const_reference front() const;
   void pop_back();
   void pop_front();
   void push_back(const T& x);
   void push_front(const T& x);
				
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 back returns a reference to the last element of the controlled sequence. The member function front returns a reference to the first element of the controlled sequence. The member function pop_back removes the last element of the controlled sequence. The member function pop_front removes the first element of the controlled sequence. All the above functions require that the controlled sequence be non-empty.

The member function push_back inserts an element with value x at the end of the controlled sequence. The member function push_front inserts an element with value x at the beginning of the controlled sequence.

Sample code

////////////////////////////////////////////////////////////////////// 
// 
// Compile options needed: -GX
// 
// liststck.cpp :  This example shows how to use the various stack
//                 like functions of list.
// 
// Functions:
// 
//    list::back
//    list::front
//    list::pop_back
//    list::pop_front
//    list::push_back
//    list::push_front
// 
// Written by Andrew Bradnan
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
////////////////////////////////////////////////////////////////////// 

#include <list>
#include <string>
#include <iostream>
using namespace std;

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

typedef list<string, allocator<string> > LISTSTR;

void main()

{

    LISTSTR test;

    test.push_back("back");
    test.push_front("middle");
    test.push_front("front");

    // front
    cout << test.front() << endl;

    // back
    cout << test.back() << endl;

    test.pop_front();
    test.pop_back();

    // middle
    cout << test.front() << endl;

}
				
The Program Output is:
front
back
middle
				

REFERENCES

For more information about list::back and list::front, visit the following Microsoft Developer Network (MSDN) Web site:

Modification Type:MajorLast Reviewed:1/9/2006
Keywords:kbhowto kbcode kbinfo KB158086 kbAudDeveloper