// dynarray_01.cpp -- using the new operator for arrays
#include <iostream>
int main()
{
    using namespace std;
    
    // declaraing and allocating space for a dynamic array of 3 doubles
    double * dyn_array = new double [3];
    // treat dyn_array like an array name
    dyn_array[0] = 0.2;                
    dyn_array[1] = 0.5;
    dyn_array[2] = 0.8;
    
    // print out 2nd element
    cout << "dyn_array[1] is " << dyn_array[1] << ".\n";

    // increment the array pointer 
    dyn_array = dyn_array + 1;                
    
    // print out the first and second element - NOTE THE CHANGE
    cout << "Now dyn_array[0] is " << dyn_array[0] << " and ";
    cout << "dyn_array[1] is " << dyn_array[1] << ".\n";
    
    // change the array pointer to what it was initially to delete
    dyn_array = dyn_array - 1;                 

    // freeing the memory
    delete [] dyn_array;                
}

