The sample code below illustrates how to use the vector::push_back
and vector::pop_back
STL functions in Visual C++.
Required Header:
<vector>
template<class _TYPE, class _A>
void vector::push_back(const _TYPE& X);
template<class _TYPE, class _A>
void vector::pop_back();
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 sample declares an empty vector of integers. It adds three integers to the vector, and then deletes one. Finally, it generates the remaining elements in the vector.
Sample Code:
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: /GX
//
// Pushpop.cpp: Illustrates how to use the push and pop member
// functions of the vector container.
//
// Functions:
//
// vector::push_back - Appends (inserts) an element to the end of a
// vector, allocating memory for it if necessary.
//
// vector::pop_back - Erases the last element of the vector.
//
// vector::begin - Returns an iterator to start traversal of the vector.
//
// vector::end - Returns an iterator for the last element of the vector.
//
// vector::iterator - Traverses the vector.
//
//////////////////////////////////////////////////////////////////////
// The debugger can't handle symbols more than 255 characters long.
// STL often creates symbols longer than that.
// When symbols are longer than 255 characters, the warning is disabled.
#pragma warning(disable:4786)
#include <iostream>
#include <vector>
using namespace std ;
typedef vector<int> INTVECTOR;
void main()
{
// Dynamically allocated vector begins with 0 elements.
INTVECTOR theVector;
// Iterator is used to loop through the vector.
INTVECTOR::iterator theIterator;
// Add one element to the end of the vector, an int with the value 42.
// Allocate memory if necessary.
theVector.push_back(42) ;
// Add two more elements to the end of the vector.
// theVector will contain [ 42, 1, 109 ].
theVector.push_back(1) ;
theVector.push_back(109) ;
// Erase last element in vector.
theVector.pop_back();
// Print contents of theVector. Shows [ 42, 1 ]
cout << "theVector [ " ;
for (theIterator = theVector.begin(); theIterator != theVector.end();
theIterator++)
{
cout << *theIterator;
if (theIterator != theVector.end()-1) cout << ", ";
}
cout << " ]" << endl ;
}
Program Output is:
theVector [ 42, 1 ]