double** ptr_d = new double*[2];
ptr_d[0] = new double[50];
ptr_d[1] = new double[50];
What does this actually do? Im a bit confused
double** ptr_d = new double*[2];
ptr_d[0] = new double[50];
ptr_d[1] = new double[50];
What does this actually do? Im a bit confused
What does this actually do?
The first line creates array of 2 pointers to double. Second and third lines create array of 50 doubles each and assign pointers to the 1st element to 2 pointer array elements:
{double *, double *} //2 pointers to double
| |
| V
| {double1, double2, ...double50} //50 doubles
|
V
{double1, double2, ...double50} //50 doubles
The first line allocates an array of pointers to 2 double
variables.
The next 2 lines fill in the 2 array slots. It would be easier to understand if it had better naming:
double** temperatureValues = new double* [ 2 ];
temperatureValues [ 0 ] = new double [ 50 ];
temperatureValues [ 1 ] = new double [ 50 ];
Or something like that.
You can think of this as a 2 dimensional array of 2 x 50 values. To access one of the values you can do:
double nextTemp = temperatureValues [ 0 ][ 32 ];