我想知道是否有可能在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