See if iterator is still in the same spot of memory : vector iterator « vector « C++ Tutorial






#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

template <class T>
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;
   }
}

int main( )
{
   vector<double> v( 5, 2.78 );
   v[2] = 0.0;

   // make the vector as large as possible without reallocating
   v.resize( v.capacity(), 2.78 );

   // find the smallest number
   vector<double>::iterator before_itr = min_element( v.begin(), v.end() );

   // append one more element. This causes reallocation
   v.push_back( 2.78 );

   // find the smallest number. (Its value is the same as before.)
   vector<double>::iterator after_itr = min_element( v.begin(), v.end() );

   // See if minimum is still in the same spot of memory
   if( before_itr == after_itr )
      cout << "The iterators are the same";
   else
      cout << "The iterators are not the same";
}








16.19.vector iterator
16.19.1.Display contents of vector through an iterator
16.19.2.Use const_iterator to loop through the vector
16.19.3.Change contents of vector through an iterator
16.19.4.iterators for vector
16.19.5.Declare an iterator to a vector
16.19.6.Obtain an iterator to the start of vector
16.19.7.Cycle through v in the forward direction using an iterator.
16.19.8.Cycle through v in the reverse direction using a reverse_iterator.
16.19.9.See if iterator is still in the same spot of memory
16.19.10.Loop through all elements in a vector in reverse order by using rbegn, rend
16.19.11.Reverse iterators
16.19.12.Const iterators
16.19.13.Converting Between Iterators and Indexes in a Vector