我想知道是否有可能在C++中传递多维数组的一部分。例如说我有三个维度(尺寸X * Y * Z)的数组:传递多维数组的一部分
int array[X][Y][Z];
并说我也有一个函数,二维阵列(尺寸Y * Z)作为它的一个参数:
void function(int stuff[Y][Z]);
是否可以这样调用函数?
function(array[x_var]);
如像通过三维阵列之用,因此传递效果的二维阵列[Y] [Z]的x_var切片..
或者我将不得不使用一个新的双二维数组,将切片复制到该数组中,然后将其传递给函数?
考虑使用一个体面的线性代数库:请看www.boost.org上的BLAS。然后你可以传递一个对象。 – Bathsheba
为什么不简单地尝试一下,看看会发生什么? –
数组衰减指针,所以在这两种情况下,你都传递一个指针,不知道你要在这里保存/做什么。 – Andreas