У меня есть некоторые данные, структурированные как многомерный массив, т.е. double[][]
, и мне нужно передать их функции, которая ожидает один линейный массив double[]
вместе с многомерными метаданными для многомерногопредставление.
Например, у меня может быть многомерный массив 3 x 5, который мне нужно передать как 15-элементный плоский массив вместе с параметрами высоты и ширины, чтобы функция знала, что это массив 3x5, а нечем массив 5x3.
Затем функция вернет метаданные плоского массива и размера, которые мне нужно использовать для преобразования данных обратно в многомерный тип.
Я считаю, что расположение данных впамять одинакова как для плоских, так и для многомерных представлений;единственное отличие состоит в том, как выполняются операции индексации.Поэтому я хотел бы выполнить «преобразование» с типизацией типов, а не копировать значения массива.
Какой самый правильный и читаемый способ преобразования типов между многомерными и плоскими массивами одинакового общего размера?
Я действительно знаю, каковы будут размеры многомерного массива во время компиляции.Размеры массива не являются динамическими.