#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 ); }