No.. A 2D array will still allocate 1D block of memory.. It's just how you access this.. For example:
rows = 13;
cols = 10;
int* values;
values = new int[rows*cols];
for(unsigned i=0; (i < rows); i++)
{
for(unsigned j=0; (j < cols); j++)
{
values[i*cols+j] = 0.0;
}
}
We are still using a 1D block of memory, however, accessing this 1D of memory as a 2D (array).. Does this make sense/