Мне было интересно, можно ли передать часть многомерного массива в C++. Например скажем, у меня есть массив из трех размеров (размер X * Y * Z):Передача части многомерного массива
int array[X][Y][Z];
И сказать, у меня также есть функция, которая принимает два одномерных массивов (размер Y * Z), как один из его параметров :
void function(int stuff[Y][Z]);
Можно ли назвать функцию следующим образом?
function(array[x_var]);
Как и как передать x_var кусочек трехмерного массива только и, следовательно, проходящей через два двумерный массив [у] [г] в силу ..
Или я должен использовать два новых размерный массив, скопируйте фрагмент в это, затем передайте это в функцию?
Рассмотрите возможность использования достойной библиотеки линейной алгебры: посмотрите BLAS на сайте www.boost.org. Затем вы можете просто передать объект. – Bathsheba
Почему бы просто не попробовать и не посмотреть, что происходит? –
Массивы распадаются на указатели, поэтому в обоих случаях вы передаете указатель, не знаете, что вы пытаетесь сохранить/сделать здесь. – Andreas