The code works fine for me.
reserve() sets the "capacity" of the vector to at least size.
capacity() returns the number of elements that the vector can
hold before it needs to allocate more space.
As for using preprocessor #define's, I should have said #if instead of #ifdef. It's demonstrated in the code below.
Code:
#include <vector>
#include <iostream>
using namespace std;

#define USE_PAUSE true
#define SIZE 5

int main()
{
    vector<double> vec;
    vec.reserve( SIZE );

    cout << "Room for: " << vec.capacity() << endl;
    for( int i = 0 ; i < SIZE; ++i )  vec[i] = i;
    for( int i = 0 ; i < SIZE; ++i )  cout << vec[i] << ' ';
    cout << endl;

#if USE_PAUSE
    system( "pause" );
#endif
    return 0;
}