#include <iostream>
#include <vector>
using namespace std;
typedef vector<int> intVector;
template<class T, class A>
void ShowVector(const vector<T, A>& v);
int main()
{
intVector vInt(3); // define a vector of integers with 3 elements
cout << "vInt(3)" << "\n";
// assign a value to each element in vInt using an iterator
int i = 0;
for (intVector::iterator itor = vInt.begin(); itor != vInt.end(); ++itor)
*itor = 5 * i++;
cout << *++itor;
ShowVector(vInt);
return 0;
}
//
// Display vector properties
//
template<class T, class A>
void ShowVector(const vector<T, A>& v)
{
// traverse through the vector using an iterator
cout << "elements displayed using an iterator:\n";
for (vector<T, A>::const_iterator itor = v.begin(); itor != v.end(); ++itor)
cout << *itor << ", ";
cout << "\n";
// traverse through the vector using a reverse iterator
cout << "elements displayed using a reverse iterator:\n";
for (vector<T, A>::const_reverse_iterator r_itor = v.rbegin();
r_itor < v.rend(); ++r_itor)
cout << *r_itor << ", ";
cout << "\n\n";
}