Установить ранг массива во время выполнения

Я написал программу, которая читает файл, содержащий многомерные данные (чаще всего 3D, но также может появиться 2D). Чтобы повысить простоту, я хотел бы хранить данные в массиве того же ранга (или в чем-то, притворяющемся единым целым), то есть с использованием трехмерного массива для трехмерных данных и т. Д .; проблема в том, что программа узнает о размерности только при чтении файла данных.

В настоящее время я храню все данные в массиве ранга один и вычисляю индекс каждого элемента в этом массиве из координат элемента (это также предлагалосьВот). Тем не менее, я также читал о переназначении ранга указателя, которое кажется очень элегантным и именно тем, что я искал, так как это позволило бы мне отказаться от моих процедур определения индекса массива (которые, вероятно, гораздо менее эффективны, чем то, что происходит за сцены). Теперь, однако, похоже, что я сталкиваюсь с той же проблемой, что и при непосредственном объявлении многомерного массива - как сделать объявление? Опять же, требуется информация о звании.

Как я могу использовать переназначение ранга указателя или какой-то другой, более подходящий метод для установки ранга массива во время выполнения - на случай, если это вообще можно сделать. Или мне лучше придерживаться одного ранга, который я сейчас использую?

Ответы на вопрос(4)

Ваш ответ на вопрос