У меня есть 2-мерный массив, элементы которого я обычно хочу, чтобы получить доступ, как это:элементов доступа из 2D массива с абсолютным элементом числом
val = my_array[row][col];
Но я также должен получить доступ к элементам, используя их абсолютный индекс времени на время, когда строка и столбец не известны. «Абсолютный» индекс данного элемента может быть вычислен следующим образом:
abs_idx = row*numCols + col;
Я имею в виде достижения этой цели следующим образом
mydatatype *my_array_abs = new mydatatype[numRows*numCols];
mydatatype **my_array = new mydatatype*[numRows];
for (int ii=0; ii<numRows; ii++)
{
my_array[ii] = &my_array_abs[ii*numCols];
}
Является ли это подходящий способ для достижения своей цели, или я должен ожидать столкнуться с любыми проблемами или неэффективностью?
Кроме того, необходимо выделить память для 'my_array'. –
Простите меня, но я не вижу в вашем опубликованном коде, что вы выделили память 'my_array'. –
@Learner Вы абсолютно правы. Я отозвал свой комментарий после того, как понял, что вы говорите. Я не обратил на это внимания. Выбросив некоторый пример кода, я не думал, что эта часть проходит весь путь. Спасибо что подметил это. – nispio