Я только начал использовать Eigen для своего проекта и понял, что он не поддерживает 3D-массивы. Поэтому я решил создать функцию, которая получает указатель типа массива и инициализирует трехмерный массив Eigen. '' '
ArrayXXf* Array3DInit (ArrayXXf *&array, int dimension[], float val){
array = new ArrayXXf [dimension[0]];
for (int i=0; i<dimension[0]; i++){
array[i] = (ArrayXXf::Ones(dimension[1], dimension[2])*val);
}
return array;
}
' ''
Поскольку мы динамически распределяем 2D-массивы, я создал еще одну функцию, которая удаляет инициализированный 3D-массив следующим образом:
void Array3Ddel (ArrayXXf *&array){
delete []array;
}
Вопрос в том, является ли это правильным способом создания / удаления трехмерного массива с помощью Eigen?
Существует ли стандартизированный способ использования 3D-массивов с Eigen?
Большое спасибо.